home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / business / ezfdb400.zip / EZFDB_HM.TXT < prev    next >
Text File  |  1992-10-02  |  217KB  |  4,335 lines

  1. #1#
  2.  
  3.                              EZ-Forms DataBase
  4.                             by Saje Enterprises
  5.                             and EZX Publishing
  6.  
  7.  
  8.   EZ-Forms DataBase gives you the capability to add, modify, sort, display
  9.   and print all kinds of information in various ways.
  10.  
  11.   Use the on-line manual (from the main menu) or the context sensitive help
  12.   (via F1) for detailed information.
  13.  
  14.  
  15.   Comments or suggestions for improving EZ-Forms DataBase will be
  16.   appreciated.
  17.  
  18.   EZ-Forms DataBase requires an IBM PC or compatible with at least 640K of
  19.   RAM.  Supported printers include the Epson graphics printers and
  20.   compatibles, and the HP Laserjet laser printers and compatibles.  Display
  21.   adapters known to work with EZ-Forms DataBase are the IBM monochrome, CGA,
  22.   EGA, VGA and compatibles.
  23. #20#
  24.  
  25.   General help for all menus:
  26.  
  27.   This menu is broken up into two basic windows.  The window at the top of
  28.   your screen shows several choices.  The window at the bottom of the screen
  29.   expands on what will occur if you choose the highlighted option (the one
  30.   that has a different background color).
  31.  
  32.   Options may be selected in one of two ways.  You can either press the
  33.   first letter key of the desired command, or move the highlight bar over the
  34.   desired option and press Enter.  To move the highlight bar, use one or any
  35.   combination of the space bar, up arrow, down arrow, left arrow, or right
  36.   arrow keys.  You can also use Home to move to the first top line item on
  37.   the menu.  This is very useful when you need a reference point on the main
  38.   menu to start a keystroke macro from.  The End key will move the highlight
  39.   bar to the last option.
  40.  
  41.   Using the first letter of a command only works in the  ACTIVE  window.  If
  42.   you don't have a pulldown, then the active window is the top window.  Once
  43.   you pulldown one of the options, that becomes the active window.  You must
  44.   use one of the commands in the pulldown once it is active.  You can always
  45.   use Escape to back out of the pulldown and return to the top menu.
  46. #21#
  47.  
  48.   In order to get help on specific areas, you must first select the command
  49.   as explained on the previous screen.  Then you can use F1 to get the
  50.   context-sensitive help for where you are in the program.
  51.  
  52.   KEYBOARD MACROS
  53.   ═══════════════
  54.   Keyboard macros will execute a sequence of keystrokes for you.  This can
  55.   be used to automate data entry, simplify command selection or automate
  56.   file selection.  The 'Alt =' key brings up the keyboard macro menu from
  57.   any point in the program.  Any macro assigned to the 'Shift F10' key is
  58.   an auto-start macro, which is automatically executed at program startup.
  59.   Over 100 keyboard macros can be saved to a macro file.  This file can be
  60.   automatically selected by entering it on the EZFDB command line with the
  61.   '/m' switch, or by using the Load Macro File command in the keyboard macro
  62.   menu.
  63.  
  64.   HINT:
  65.   To simplify access to a multitude of databases, create a keyboard macro
  66.   file for each database.  Define an auto-start macro to automatically load
  67.   the database and form files.  Define some other macros to simplify data
  68.   entry and command selection for that database.  Then whenever you want to
  69. #22#
  70.  
  71.   access that database, invoke EZFDB and specify it's associated keyboard
  72.   macro file on the command line.  For example:
  73.  
  74.         EZFDB /m=addrs.mac
  75.  
  76.  
  77.   NOTE
  78.   ════
  79.   In the on-line help and manual, commands are usually identified by using
  80.   a two part convention.  The first part is the item name from the main menu,
  81.   and the second part is the item name from its pull-down menu.  For example,
  82.   the Database - Open command is frequently mentioned.  This is the 'Open'
  83.   command item in the 'Database' pull-down menu.  From the main menu (with
  84.   no pull-downs shown), you can access the Database - Open command by
  85.   entering the 'D' key followed by the 'O' key, among other ways.
  86.  
  87.   DATA INTEGRITY
  88.   ══════════════
  89.   This stands for the accuracy and proper retention of your data
  90.   notwithstanding operator error.  It is imperative that you avoid certain
  91. #23#
  92.  
  93.   types of actions while EZFDB is running.  These include rebooting,
  94.   turning off or resetting your computer.  Whenever any file is updated
  95.   by EZFDB, it does not necessarily mean that all data has been properly
  96.   preserved on disk.  All data is properly saved whenever you exit the
  97.   program, load a new database, or execute the Database - Close command.
  98.  
  99.   BACKUPS
  100.   ═══════
  101.   The importance of backing up (making copies of) your database and
  102.   associated files can never be overstated.  Hardware and software is never
  103.   perfect, so backing up your files at least daily is the only way to assure
  104.   that any problems will be minimized.
  105.  
  106.   SUGGESTIONS
  107.   ═══════════
  108.   We have tried to design EZ-Forms DataBase to let you get your job done
  109.   quickly and easily.  Please feel free to forward any suggestions for
  110.   improvement to us at EZX Publishing, Attn: EZFDB Author.
  111. #50#
  112.                            Quick Expression Help
  113.                            ═════════════════════
  114.  
  115.   Expressions can be used for selection criteria, index creation or field
  116.   calculations.  The following screens explain expressions in more detail,
  117.   but first, here are some examples to give you an idea of what's going on.
  118.   To find (or print or delete) all records that have a LASTNAME field
  119.   starting with 'X', the selection criteria expression would be:
  120.         LASTNAME = 'X'
  121.   Alphabetic case is significant for data between quotes, but otherwise case
  122.   is insignificant.  The 'UPPER' function can be used to make the search
  123.   case insensitive:
  124.         upper(lastname) = 'X'
  125.   However, since the 'UPPER' function converts all characters to uppercase,
  126.   the characters in between the quotes must also be uppercase in order to
  127.   match.  The quotes can be either the single quotes (') or the double
  128.   quotes (").  Spaces anywhere except between quotes or within function
  129.   or field names are optional and insignificant.
  130.     Items can be combined to provide further specificity.  To find all
  131.   records that have a CITY field starting with 'DENVER' and STATE field
  132.   starting with 'CO':
  133.         CITY = 'DENVER'  .AND.  STATE = 'CO'
  134. #51#
  135.                           Detailed Expression Help
  136.                           ════════════════════════
  137.  
  138.   All expressions have the same structure, no matter where they're used.
  139.   They consist of combinations of field names, operators, functions and/or
  140.   constants.  All expressions evaluate to a Logical, Character, Numeric or
  141.   Date type.  Logical expressions have a True or False result and are used
  142.   for record selection, i.e., selection criteria.  Index key expressions can
  143.   have a Character, Numeric or Date result.  A field calculation can have any
  144.   result type, as long it matches its field type.  Evaluation to a specific
  145.   type means that all parts of the expression, whether they be fields,
  146.   functions or constants, must be appropriately combined to yield any one
  147.   type.  Any improperly mixed types will cause an error.
  148.  
  149.   Memo fields cannot be used in expressions because of the way Memo fields
  150.   are stored.
  151.  
  152.   A common form of an expression is the name of a field.  In this case, the
  153.   type of the expression is the type of the field.  A common Logical
  154.   expression is one that contains nothing.  This is the simplest way to
  155.   specify all records.
  156. #52#
  157.  
  158.   Constants are fixed values of any type.
  159.     - Character constants are letters with quote marks around them.  A
  160.       single (') or double (") quote can be used, but be sure to use the
  161.       same one on both sides of the constant.  "Ed", 'Edwardo' and "15515"
  162.       are all examples of Character constants.  If you wish to specify a
  163.       character constant with a single quote or a double quote contained
  164.       inside it, use the other type of quote to mark the Character constant.
  165.       For example, "Andy's" and '"OK"' are both legitimate Character
  166.       constants.
  167.     - A Numeric constant represents a number.  For example, 7, 82, 2.35 and
  168.       -22 are all Numeric constants.  To enter a number less than 1, precede
  169.       it with a zero.  E.g., enter .25 as 0.25, otherwise the number will not
  170.       be recognized.
  171.     - A Logical constant can only be '.TRUE.' or '.FALSE.'.  '.T.' and '.F.'
  172.       are legitimate abbreviations.  The '.' is used to distinguish it from
  173.       a field name.
  174.     - A Date constant must be specified using the Character to Date function
  175.       (CTOD) which converts a character string to a date constant.  For
  176.       example, assuming the default date format MM/DD/YY, February 5th, 1990
  177.       would be specified as CTOD('02/05/90'). The date format is specified
  178.       in the Config-Other menu.
  179. #53#
  180.  
  181.   Field names are entered directly or selected via the F2 key, which gives
  182.   you a window from which you can select the field and paste its name into
  183.   the expression with the Enter key.  The presence of a field name in an
  184.   expression will cause the value of that field from the current record to
  185.   replace the field name in the expression.  The value returned matches the
  186.   type of the field.
  187.  
  188.   Operators can relate one part of an expression to another (>, =), or they
  189.   can combine parts of an expression through a mathematical process (+, -).
  190.   The result of a relationship is either .TRUE. or .FALSE..  The result of a
  191.   mathematical process can be a value of any type.  Operators have a
  192.   precedence which specifies operator evaluation order.  The precedence of
  193.   each operator is specified in the following table.  The higher the
  194.   precedence, the earlier the operation will be performed.  For example,
  195.   Divide has a precedence of 6 and Plus has a precedence of 5 which means
  196.   Divide is evaluated before Plus.  Consequently, 7+8/2 is 11.  Evaluation
  197.   order can be made explicit by using parenthesis.  For example, 1+2*3
  198.   returns 7 and (1+2)*3 returns 9.
  199. #54#
  200.  
  201.   Operator      Symbol  Precedence    Type            Comments
  202.   ══════════════════════════════════════════════════════════════════════════
  203.   Add              +         5       Numeric,Date
  204.   Subtract         -         5       Numeric,Date
  205.   Multiply         *         6       Numeric
  206.   Divide           /         6       Numeric
  207.   Exponentiate     ** or ^   7       Numeric     X**Y means X to the Yth powr
  208.   Concatenate I    +         5       Character   Straight concatenate
  209.   Concatenate II   -         5       Character   Concatenate, spaces on end
  210.   Equal To         =         4       Logical     Any type
  211.   Not Equal To     <>        4       Logical     Any type
  212.   Less Than        <         4       Logical     Any type except Logical
  213.   Greater Than     >         4       Logical     Any type except Logical
  214.   Less Than or     <=        4       Logical     Any type except Logical
  215.     Equal To
  216.   Greater Than     >=        4       Logical     Any type except Logical
  217.     or Equal To
  218.   Contained in     $         4       Logical     Character only
  219.   Not              .NOT.     1       Logical
  220.   Or               .OR.      2       Logical
  221.   And              .AND.     3       Logical
  222. #55#
  223.  
  224.   Functions can be used as an expression or as part of an expression and
  225.   always return a value.  Functions always have a name and are followed by a
  226.   left and right parenthesis.  Values (parameters) may be inside the
  227.   parenthesis.  A list of functions follows.
  228.  
  229.   Function                      Description
  230.   ══════════════════════════════════════════════════════════════════════════
  231.   ABS(Numeric_Value)       Returns absolute value of Numeric_Value
  232.   CTOD(Char_Value)         Convert Character to Date
  233.   DTOC(Date_Value)         Convert Date to Character (in User Date Format)
  234.   DTOS(Date_Value)         Convert Date to String (CCYYMMDD)
  235.   DATE()                   Return the system Date
  236.   DEL()                    Returns "*" if current record deleted, else " "
  237.   DELETED()                Returns .TRUE. if current record deleted
  238.   DESCEND(Char_Value)      Returns "inverse", for creating descending indexes
  239.   IIF(Logical_Value,True_Result,False_Result)  Returns True_Result when
  240.                            Logical_Value is .TRUE., else returns False_Result
  241.   INSTR(Char_Value,Char_V) Returns position of substring in string
  242.   LOOKUP('Index_Field','Index_File','Database_File','Field_Name')  Get value
  243.         from Field_Name in other Database_File, via lookup using Index_File
  244.         and value in Index_Field.  Pick names (in quotes) with F3 -> F6.
  245. #56#
  246.   Function                      Description
  247.   ══════════════════════════════════════════════════════════════════════════
  248.   LOWER(Char_Value)        Converts Character string to lower case
  249.   LTRIM(Char_Value)        Removes preceding spaces from a Character string
  250.   PROPER(Char_Value)       Properizes (upper case first letter of each word)
  251.   RECCOUNT()               Returns the total number of records in the d/b
  252.   RECNO()                  Returns the current record number
  253.   RELATE(....)             Same as LOOKUP
  254.   RTRIM(Char_Value)        Removes trailing spaces from a Character string
  255.   STR(Numeric_Value,Length,Decimals)  Convert Numeric_Value to a Char. value
  256.   SUBSTR(Char_Value,Start_Position,Num_Chars)  Returns part of Char_Value
  257.   TIME()                   Returns system time as HH:MM:SS
  258.   TRUNC(Numeric_Value,Length,Decimals) Truncate Numeric_Value at Decimals
  259.   UPDATE('Index_Field','Index_File','Database_File','Field_Name',Value,Code)
  260.         Place Value into Field_Name field in related Database_File, via
  261.         lookup using Index_File and value in Index_Field. Code specifies non-
  262.         existant rec mode: 0:add but ask, 1:add w/o ask, 2:never add-ignore,
  263.         3:never add-error.  Add 4 to Code for update only when adding record
  264.         to the main database.  Pick names (in quotes) with F3 -> F6.
  265.   UPPER(Char_Value)        Convert Character string to upper case
  266.   VAL(Char_Value)          Convert Character value to Numeric value
  267.   ZS(Numeric_Value)        Zero Suppression - blanks field when Value = 0
  268. #57#
  269.  
  270.                             Expression Examples
  271.                             ═══════════════════
  272.  
  273.   city='CHICAGO' -> Returns .T. (the 'true' constant) when the 'city' field
  274.     of a record starts with 'CHICAGO'.
  275.  
  276.   'CHICAGO'$UPPER(city) -> Returns .T. when the 'city' field of a record
  277.     contains 'CHICAGO' in any case.
  278.   
  279.   state='TX'.AND.city='HOUSTON' -> Returns .T. when the 'state' field
  280.     starts with 'TX' and the 'city' field starts with 'HOUSTON'.
  281.  
  282.   qty1+qty2 > 100 -> Returns .T. when the 'qty1' field added to the 'qty2'
  283.     field is greater than 100.
  284.  
  285.   SUBSTR(zip,5,1)='3' -> Returns .T. when the fifth digit of the 'zip'
  286.     field contains a '3'.
  287.  
  288.   LOOKUP('cust_id','idx_cust','customer','lname') -> Use 'cust_id' field
  289.     from current database to search in 'idx_cust' index of 'customer'
  290.     database, to get contents of 'lname' field.
  291. #60#
  292.  
  293.   EZ-Forms DataBase Data Entry Commands:
  294.  
  295.   Movement Within a Field            Movement Between Fields
  296.   ══════════════════════════════     ═══════════════════════════════════════
  297.   HOME  - Beginning                  Ctrl HOME - First field of form
  298.   END   - Last character             Ctrl END  - Last field of form
  299.        - Cursor left                TAB or ENTER - Next field
  300.        - Cursor right               SHFT TAB  - Prev field
  301.   BKSP  - Delete char left           PAGE UP   - First field on prev page
  302.   DEL   - Delete under crsr          PAGE DOWN - First field on next page
  303.   Ctrl - Word left                           - Prev closest field up
  304.   Ctrl - Word right                          - Next closest field down
  305.  
  306.   Vertical Form Movement             Horizontal Form Movement
  307.   ══════════════════════════════     ═══════════════════════════════════════
  308.   Ctrl T- Top section                Ctrl L - Leftmost section
  309.   Ctrl B- Bottom section             Ctrl R - Rightmost section
  310.   Ctrl U- Up one line                Ctrl P - Left one character
  311.   Ctrl D- Down one line              Ctrl N - Right one character
  312.   Ctrl PAGE UP - Top first
  313.   Ctrl PAGE DOWN - Bottom rightmost
  314. #61#
  315.  
  316.   EZ-Forms DataBase Data Entry Commands (continued):
  317.  
  318.   Edit Functions
  319.   ══════════════════════════════════════════════════════════════════════════
  320.   Alt A - Alternate character lookup          Alt = - Keyboard macro menu
  321.   Alt C - Clear current field                 Alt F1- Form Help
  322.   Alt D - Place today's date into field       Alt F2- Form Pick List
  323.   Alt E - Edit Memo field (same as F9)        Alt F3- Relational Pick List
  324.   Alt F - Recall field from Recall Buffer
  325.   Alt M - Execute all field calculations
  326.   Alt N - Recall and increment                F9    - Edit field
  327.   Alt O - Recall and decrement                F10   - Save record
  328.   Alt P - Print form
  329.   Alt R - Recall record from Recall Buffer    Ctrl Q- Abort/Flush macro
  330.   Alt S - Save record (same as F10)           Ctrl X- DOS shell
  331.   Alt T - Place current time into field
  332.   Alt V - Clear all fields
  333.   Alt Z - Greek Characters (printer commands)
  334. #62#
  335.  
  336.   Record Movement                    Record Movement via selection criteria
  337.   ══════════════════════════════     ═══════════════════════════════════════
  338.   HOME or F  - First record          Ctrl HOME or F - First matching rec
  339.   END or L   - Last record           Ctrl END or L  - Last matching rec
  340.   PGUP or P  - Prev record           Ctrl PGUP or P - Prev matching rec
  341.   PGDN or N  - Next record           Ctrl PGDN or N - Next matching rec
  342.  
  343.   Form Movement                      Display / Revise Functions
  344.   ══════════════════════════════     ═══════════════════════════════════════
  345.    - Left section                   Alt A - print with Alternate form
  346.    - Right section                  Alt D - load new Database
  347.    - Up section                     Alt F - load Form file
  348.    - Down section                   Alt I - select Index
  349.                                      Alt L - print Label
  350.                                      Alt O - index temporarily Off
  351.   Global Functions                   Alt P - Print current form
  352.   ══════════════════════════════     Alt R - Remember rec (load Recall)
  353.   Alt = - Keyboard macro menu        Alt S - Save filled out form (.fof)
  354.   Ctrl Q- Abort/Flush macro          Alt T - expression Tutor
  355.   Ctrl X- DOS shell                  Alt W - Write form as ASCII file
  356. #63#
  357.  
  358.   Permissable Entries
  359.   ═══════════════════
  360.  
  361.   As you move around the form to different fields, you will notice the
  362.   contents of the bottom line change.  The row and column numbers indicate
  363.   the cursor position within the form.  Whenever editing is started, row 1
  364.   column 1 of the form is positioned at the top left of the screen.
  365.  
  366.   The 'Field:' area of the bottom status line indicates the field name and
  367.   type for the current field the cursor is in.  For example,
  368.   'Field:    NAME/C' indicates that the cursor is in the field named 'NAME'
  369.   and it's a Character field type.  Some of the field types have limits on
  370.   what characters can be entered and how the characters can be structured.
  371.  
  372.     Type          Description
  373.   ═════════════════════════════════════════════════════════════════════════
  374.   C  Character    No limits
  375.   N  Numeric      Numbers, '-' (and decimal point if decimals>0)
  376.   D  Date         Numbers and characters specified in the Date Format
  377.   L  Logical      'Y','y','T','t' for True -OR- 'N','n','F','f' for False
  378.   M  Memo         No limits
  379. #64#
  380.  
  381.   Window Fields
  382.   ═════════════
  383.  
  384.   EZFDB will only place data into a form field when that field's name
  385.   matches a database field name.  Even so, the form field can be longer
  386.   or shorter than the corresponding database field.  When the form field
  387.   is longer, all the data appears but data entry will be limited to the
  388.   length of the database field.  When the form field is shorter, the field
  389.   is automatically windowed.
  390.  
  391.   A window field is a form field whose data is longer than its area length.
  392.   All data is accessible, it's just not all shown in the form at the same
  393.   time.  Initially, only as much of the data field as can fit in its form
  394.   field is displayed.  During data entry, when the cursor approaches the
  395.   end of the field, the remaining data will automatically scroll leftward
  396.   into view. The cursor will remain in the field until it reaches the end of
  397.   the data.  Similarly, when the cursor approaches the beginning of the
  398.   field, the remaining data will automatically scroll rightward into view.
  399.   Again, the cursor will remain in the field until it reaches the end of the
  400.   data.
  401. #65#
  402.  
  403.   Memo Fields
  404.   ═══════════
  405.  
  406.   All Memo fields are automatically Windowed fields since the permissable
  407.   Memo field length (5000) is much longer than the longest possible form
  408.   field.  However, there is one exception: Memo fields cannot be changed
  409.   within the form but the first part is displayed in the form.  An external
  410.   memo editor (MEMO.COM) must be invoked (with Alt E) during data entry to
  411.   edit Memo fields.  This allows for use of the full screen for editing.
  412.   When you exit the editor, the Memo field will be updated.  An intermediate
  413.   file is used for the editing: MMxxxxxx, where xxxxxx is a random number.
  414.  
  415.   EZFDB comes with a full screen editor program, MEMO.COM.  This simple
  416.   editor is a separate, stand-alone program with its own on-line help.
  417.   You are free to replace this with any other editor that can accept an edit
  418.   file on its command line.  To use another editor, either copy it into the
  419.   EZFDB directory as MEMO.COM or MEMO.EXE, or make a MEMO.BAT file that
  420.   calls it.  EZFDB searches for MEMO.BAT, then MEMO.COM, then MEMO.EXE, so
  421.   make sure no files exist that will be found before the one you want.
  422. #66#
  423.  
  424.                        EZ-Forms DataBase Data Entry
  425.                        ════════════════════════════
  426.  
  427.   The commands used to access the many data entry features are listed in the
  428.   following help screens.  Availability of some features is indicated by
  429.   the bottom line of the data entry screen.  The contents of this line
  430.   changes from field to field, based on what has been designed for this
  431.   form and database.
  432.  
  433.   [phrw] on the bottom line represents:
  434.  
  435.   P = Form Pick List - Alt F2 for data entry, design with Form-Edit.
  436.         Choose from fixed list of possible entries.
  437.   H = Form Help - Alt F1 for data entry, design with Form-Edit.
  438.         Provides information specific to a section of the form.
  439.   R = Relational Pick List - Alt F3 for data entry, design with
  440.         Revise-Fields.  Choose from dynamic list from related database.
  441.   W = Word-wrap - automatic in data entry, design with Form-Setup.
  442.         Treats a set of form fields as a word-processing "paragraph".
  443. #70#
  444.  
  445.                       Expression Tutor and Calculator
  446.                       ═══════════════════════════════
  447.  
  448.   This dialog box will show the results of any expression you enter.  Any
  449.   field names in the expression will be replaced by data from the current
  450.   record.  You can enter and re-enter expressions as long as you like, until
  451.   you've mastered the operation or function of interest.  The expression
  452.   can also be any numeric formula, so you can use this expression evaluator
  453.   as a calculator.  Expressions must evaluate to a specific type (Character,
  454.   Date, Numeric or Logical), so be sure to not mix types.
  455.  
  456.   The screens that follow give details on how to form expressions.
  457.  
  458.   Use the ESCape key to exit the Expression Tutor and Calculator when you
  459.   are done.
  460. #200#
  461.  
  462.   Database - Open will select an existing database for use.  If you want to
  463.   create a new database, you instead need to use the Database - New command.
  464.  
  465.   Enter the database name only, without the .dbf extension.  If you don't
  466.   remember exactly what it's called, a list of files will be presented
  467.   whenever you enter just the directory name and leave the filename blank,
  468.   or whenever you enter a wildcard for the file name.  Directory listings
  469.   consist of files in the current directory, then subdirectories in the
  470.   current directory, and then valid drives.  Selecting a file will load that
  471.   database.  Selecting a subdirectory will show a listing for that
  472.   subdirectory.  Selecting a drive will show a listing for the current
  473.   directory on that drive.
  474.  
  475.   A file or directory name consists of up to 8 characters.  The following
  476.   characters CANNOT be used in file or directory names: ."/\[]:|<>+=;,
  477.  
  478.   Directory names are optional and if left blank, the current directory
  479.   is assumed.  The directory name can contain a drive name, a path name or
  480.   both.  A path name is a list of directories separated by backslash
  481.   characters ('\'), that leads through the directory tree up to the
  482.   directory of interest.
  483. #201#
  484.  
  485.   Refer to your Disk Operating System (DOS) manual for detailed information
  486.   on directories and file names.
  487.  
  488.   The following files are read at this time:
  489.  
  490.   - database file  (.dbf)   Stores the actual data
  491.   - memo file      (.dbt)   Where memo fields are stored
  492.   - database defs  (.dbr)   Stores Index List, Calculations, Rel. Pick Lists
  493.   - form file      (.frm)   EZ-Forms form for data entry or reports
  494.   - form/db file   (.fdb)   Contains form field names, Word Wrap and
  495.                               Field Sequencing info
  496.   - index files    (.ndx)   Record ordering data (optional)
  497.  
  498.   The database file is always required for this command.  If the form file
  499.   does not exist, EZFDB can create one for you.  When the form file exists
  500.   without the form/db file, EZFDB can create the form/db file for you.  The
  501.   resulting form/db file may not place database fields into form fields
  502.   properly, since form field names are assigned from the database field names
  503.   by sequence.
  504. #210#
  505.  
  506.   Database - Close will flush all internal disk buffers to disk and terminate
  507.   access to selected files.  This is useful for saving data to a floppy
  508.   before its removal, or before powering down a system.
  509.  
  510.   This command is just as effective as exiting the program at preserving
  511.   data.
  512.  
  513.   On a network, this command is useful for freeing up a database so someone
  514.   else can make structural modifications, which require exclusive file
  515.   access.
  516. #230#
  517.  
  518.   Database - New can create a database using a currently loaded form, any
  519.   other existing form, or it can also create a new form.  Once a form is
  520.   available, a Field Setup menu is presented, which allows modification
  521.   of all field characteristics before the database is actually created.
  522.   Subsequent changes can be made with the Revise - Fields command, or the
  523.   Database - Build command.
  524.  
  525.   The Field Setup menu allows you to setup field width, type and name for all
  526.   fields.  In the first window (selection list), move the cursor with the up
  527.   and down arrow keys to select the field you want to change, then press the
  528.   'Enter' key.  This will bring up a second window (dialog box) that allows
  529.   you to change certain characteristics for the selected field.  Once in the
  530.   dialog box, the direct field selection keys PGUP (previous field), PGDN
  531.   (next field), Ctrl PGUP (first field) and Ctrl PGDN (last field) are
  532.   active. The F10 key will return back to the field selection list.  Field
  533.   Calculations can only be entered and modified with Revise - Fields.
  534.  
  535.   If a database with the same name already exists, you will be prompted
  536.   before it is overwritten.
  537. #231#
  538.  
  539.   Characteristic              Description
  540.   ════════════════  ══════════════════════════════════════════════════════
  541.   Name              Can be up to 10 alphabetic, numeric or '_' characters.
  542.  
  543.   Type              Character, Numeric, Date, Logical or Memo.
  544.  
  545.   Width             0 through 256, depending on type.
  546.  
  547.   Decimals          For Numeric fields only.  Number of digits after decimal
  548.                     pt., 0 - 15.  Must be at least 2 less than field width.
  549.  
  550.  
  551.   Limits
  552.   ══════
  553.  
  554.   The sum of the widths of all fields (10 for Memo fields) is the record
  555.   length.  The maximum record length is 32000 characters.
  556.   The total number of fields in the form or database cannot exceed 1000.
  557.   Limits are subject to available memory.
  558. #232#
  559.  
  560.   Type        Can Contain                                   Width
  561.   ══════════  ════════════════════════════════════════════  ═════════════════
  562.   Character   any ASCII character                           0 - 256
  563.               (letters, numbers, symbols and spaces)
  564.  
  565.   Numeric     '0' - '9', '.', '-'                           0 - 19
  566.                                                             Decimals 0 - 15
  567.  
  568.   Date        '0' - '9', and other chars in user format     8
  569.  
  570.   Logical     'T','t','Y' or 'y' for logical true (.T.)     1
  571.               'F','f','N' or 'n' for logical false (.F.)
  572.  
  573.   Memo        any ASCII character                           10
  574.               (letters, numbers, symbols and spaces)    (0-5000 in memo file)
  575.  
  576.   Data Entry Help
  577.   ═══════════════
  578.  
  579.   During data entry, the field name and type is displayed on the bottom
  580.   line.  A help screen is available to explain permissable entries by type.
  581. #233#
  582.  
  583.   Memo Fields
  584.   ═══════════
  585.  
  586.   A Memo field is very similar to a Character field, except that its data
  587.   is stored in a separate Memo (.dbt) file and each Memo field's length
  588.   can be variable and relatively long.  The advantage is that when an
  589.   occasional elaboration is required for a certain record, there are no
  590.   limits on how long or short the elaboration can be.  Only 10 bytes are
  591.   used for each Memo field in a record to point to the corresponding data in
  592.   the Memo file.  When there is data in a Memo field, it is written to
  593.   the Memo file in 512 byte blocks.  When there is no data, nothing is
  594.   written to the Memo file.
  595. #235#
  596.  
  597.   EZ-Forms DataBase will create a new form and database from answers
  598.   you place in this dialog box.  Fields names are automatically assigned,
  599.   and all field types and widths are the same, as specified.  Once the
  600.   default database definition is built, a Field Setup menu is presented,
  601.   which allows full control over all field characteristics.  Since defaults
  602.   have already been setup, the field definitions can be used as is.
  603.  
  604.   The Field Setup menu presents a list of fields.  Selecting one of the
  605.   fields will present a dialog box for modification of the default field
  606.   characteristics.  Once in a dialog box, the direct field selection keys
  607.   PGUP (previous field), PGDN (next field), Ctrl PGUP (first field) and
  608.   Ctrl PGDN (last field) are active.  The F10 key will return back to the
  609.   field selection list.
  610. #236#
  611.  
  612.   EZFDB imposes some limits on the form it automatically creates.  The form
  613.   width is fixed to 80 columns, and the height varies depending on the
  614.   number of desired fields.  Remember, the maximum height is 999 lines, but
  615.   this can be further limited by the Config - Memory settings.  EZFDB tries
  616.   to fit one field per line, but if there are too many fields, it will try
  617.   to fit two fields per line.  Depending on the actual field width and total
  618.   number of fields on the form, some fields may be shortened only in the
  619.   form, and therefore windowed.
  620.  
  621.   Of course, the Form - Edit command can then be used to edit the form and
  622.   make it more suitable.
  623.  
  624.   For full control over the form size and format, use the Form - Create
  625.   command to create a new form.  Then run Database - New and tell it you
  626.   want to create a database from an existing form.
  627. #240#
  628.  
  629.   Database - Build will rebuild (clone) the current database to a new one, or
  630.   create a new database that matches an alternate form.  When you choose a
  631.   new form, a copy of the current form is made.  The new database will then
  632.   be created using the new or alternate form's name.
  633.  
  634.   Once a form is available, the Field Setup menu will appear.  This allows
  635.   you to setup all field characteristics for the NEW database.  EZFDB can
  636.   add, delete or move fields only when creating a new form.  Whenever fields
  637.   are added, deleted, or moved, EZFDB will change the form accordingly.  When
  638.   building is done, you may want to edit the form to move new fields into
  639.   proper position, or to remove text relating to deleted fields.  However,
  640.   when editing the form, be careful about moving, adding, or deleting fields.
  641.   You can use Form - Setup to change the field names accordingly. When you're
  642.   finished making field changes, press the F10 key to continue to the next
  643.   window, which asks for selection criteria and index ordering.  By entering
  644.   an expression, you can select which records get copied to the new database.
  645.   Specifying index ordering will cause records to be written to the new
  646.   database in current index order.
  647.  
  648.   NOTE: After this command executes, the PRIOR database and form are still
  649.         active, not the new ones.
  650. #241#
  651.  
  652.   Database - Build is useful for making changes to your database structure,
  653.   after you have created the database.  You simply build to a new name, then
  654.   load the new database to verify any changes.  You can then use the
  655.   Database - Erase command to delete the old database.
  656.  
  657.   Field Setup Commands  NOTE: Only available when creating a new form.
  658.   ════════════════════
  659.  
  660.   Insert - insert a new field, before or after the current one, if room.
  661.   Delete - delete the current field.
  662.   Alt C  - copy field characteristics into paste buffer.
  663.   Alt D  - copy field characteristics into paste buffer, then delete field.
  664.   Alt P  - insert field, using field characteristics in paste buffer.  If
  665.            the original field from which the paste buffer was loaded was
  666.            not deleted, then make sure to change this field name.
  667.   Alt V  - view new form in its current state.
  668. #242#
  669.  
  670.   Using an alternate form to build a new database can be rather involved, but
  671.   in some situations it may be necessary.  For example, there may be times
  672.   when massive changes to the form are needed.  Or there may simply be no
  673.   room in a certain area to add more fields.  Here are the steps:
  674.  
  675.   1) Create the alternate form, either from new or by altering a form.
  676.   2) Use the Form - Setup command to assign form field names.  Remember,
  677.      these names must match the appropriate fields in the original database.
  678.   3) Load the original database.
  679.   4) Optional: use Form - Open to load the alternate form to verify proper
  680.      form setup and field naming.
  681.   5) Run Database - Build.
  682.   6) Load new database to verify results.
  683. #243#
  684.  
  685.   Database - Build is useful for creating a different database to be used by
  686.   a different department or person.  In this case, only some of the records
  687.   and fields are needed.  For example, a company has a master customer
  688.   database, which includes all domestic and foreign customers.  A new
  689.   domestic sales department is created, so the master customer database must
  690.   be split into two - one domestic, and one foreign.  Here are the steps:
  691.  
  692.   1) Load the master customer database.
  693.   2) Select the Database - Build command, and enter a name for the domestic
  694.      customer database.
  695.   3) When the Field Setup menu appears, make any necessary modifications,
  696.      then press F10 to the selection criteria dialog box.
  697.   4) For selection criteria, specify:
  698.         COUNTRY=' '.or.upper(COUNTRY)='USA'.or.upper(country)='U.S.A.'
  699.      This is simply an example, specific cases may vary.
  700.   5) Select index or non-index order, and press ENTER to start the build.
  701.   6) When complete, the original customer database will still be active.
  702.   7) Load the new domestic customer database and verify the results.  Since
  703.      you still have the original database, it's easy to redo the above steps
  704.      if there were any problems.  Redo until you are satisfied.
  705.   8) Repeat steps 1-7, with appropriate changes, for the foreign database.
  706. #250#
  707.  
  708.   Database - Export will export the current database to a seperate file, in
  709.   one of the 6 supported formats.  You can select which fields get exported,
  710.   field order, and what records get exported.  Records will be ordered based
  711.   on the currently active index.  EZFDB leads you through the following
  712.   steps:
  713.  
  714.   1. Select export file type.  Each of these types are fully documented in
  715.      the manual, and are also available for importing with Revise - Import.
  716.  
  717.   2. Fields to export.  Here you can control which fields get exported and
  718.      their sequence.
  719.  
  720.   3. Selection criteria.  Here you enter an expression which selects what
  721.      records get exported.
  722.  
  723.   4. Export file name.
  724. #260#
  725.  
  726.   Database - Rename will rename all files directly associated with a
  727.   database.  These files are identified by the following file extensions:
  728.         .frm - form
  729.         .fdb - form/database
  730.         .dbr - database definitions
  731.         .dbf - datbase
  732.         .dbt - memo
  733.  
  734.   As with Database - Erase, other files that may be associated with a
  735.   database are not affected.  These include:
  736.         .ndx - index
  737.         .cnf - configuration
  738.         .mac - keyboard macros
  739.   To rename one of these other files, you can exit or shell to DOS, and use
  740.   the DOS 'REN' command.  However, there is a problem with renaming an
  741.   index file using DOS, since the index file name is also present in the
  742.   database's Index List.  To rename an index file, you could:
  743.  
  744.   1) Use the Index - Erase command to erase the index file and then use
  745.      the Index - Create command to recreate it with the new name.
  746.   OR ...
  747. #261#
  748.  
  749.   2) Exit or shell to DOS, and rename the index file.  Then re-enter EZFDB,
  750.      tell it to eliminate invalid indexes from the Index List, then use
  751.      the Index - Include command to include the index under its new name.
  752.  
  753.   If any associated keyboard macros use an old file name, that macro must
  754.   be re-recorded using the new file name.
  755. #270#
  756.  
  757.   Database - Erase will erase all files directly associated with a database.
  758.   These files are identified by the following file name extensions:
  759.         .frm - form
  760.         .fdb - form/database
  761.         .dbr - database definitions
  762.         .dbf - datbase
  763.         .dbt - memo
  764.  
  765.   As with Database - Rename, all other files that may be associated with a
  766.   database are not affected.  These include:
  767.         .ndx - index
  768.         .cnf - configuration
  769.         .mac - keyboard macros
  770.  
  771.   To erase one of these other files, you can exit or shell to DOS, and use
  772.   the DOS 'DEL' command.
  773. #280#
  774.  
  775.   Database - Describe will change the descriptive comment that shows up
  776.   whenever you request a database directory listing.  This description is
  777.   first entered at time of database creation.  A similar description is also
  778.   maintained for each form, and can be changed with the Form - Describe
  779.   command.
  780.  
  781.   When listing a database directory, to get the database descriptions, EZFDB
  782.   must read part of each database .dbr file.  This can be rather time
  783.   consuming on slower machines, or on directories with very many databases.
  784.   The Config - Files menu contains an option to turn off descriptions when
  785.   listing database directories.  Initially, this is on.
  786. #300#
  787.  
  788.   Form - Open will load a form file (.frm) and its form/database file (.fdb)
  789.   if it exists.  A form defines the data entry screen and/or the report
  790.   format.  Before selecting a database, or after closing a selected database,
  791.   loading a form can be the first step towards creating a new database, or an
  792.   alternate view/report form.  To create an alternate form, create a master
  793.   form, then use Form - Setup to name the form fields appropriately.  To
  794.   create a database from a form, use Database - New.
  795.  
  796.   When a database is selected (with Database - Open), the corresponding form
  797.   and form/database files are also loaded.  Subsequent form loading will
  798.   provide an alternate view or report format for that database.
  799.  
  800.   Enter the form name only, without the .frm extension.  If you don't
  801.   remember exactly what it's called, a list of files will be presented
  802.   whenever you enter just the directory name and leave the filename blank,
  803.   or whenever you enter a wildcard for the file name.  Directory listings
  804.   consist of files in the current directory, then subdirectories in the
  805.   current directory, then valid drives.  Selecting a file will load that
  806.   form.  Selecting a subdirectory will show a listing for that subdirectory.
  807.   Selecting a drive will show a listing for the current directory on that
  808.   drive.
  809. #301#
  810.  
  811.   A file or directory name consists of up to 8 characters.  The following
  812.   characters CANNOT be used in file or directory names: ."/\[]:|<>+=;,
  813.  
  814.   Directory names are optional and if blank, the current directory is
  815.   assumed.  The directory name can contain a drive name, a path name or both.
  816.   A path name is a list of directories separated by backslash characters
  817.   ('\'), that leads through the directory tree up to the directory of
  818.   interest.
  819.  
  820.   The form file (.frm) must have been created by EZ-Forms DataBase or
  821.   Executive.  EZ-Forms DataBase supports all printing features, but not the
  822.   math formulas of EZFX.  Most math formulas can be rewritten as EZFDB
  823.   Field Calculations (see Revise - Fields).  EZ-Forms DataBase also supports
  824.   the use of the HP LaserJet Font and Graphics Support Pack (HPLJFGSP) for
  825.   printing.
  826. #310#
  827.  
  828.   Form - Print will print a form, with or without a database active.  If a
  829.   form is not already active, you can enter the name of one.  When a form is
  830.   read at this time, you are given a chance to view the form before the
  831.   full-screen Print Setup menu appears.
  832.  
  833.  
  834.   When the form is larger than the screen, the arrow keys will move the form
  835.   to allow viewing of other sections.
  836. #320#
  837.  
  838.   Form - View allows you to view a form, with or without a database active.
  839.   If a form is not already active, you can enter the name of one, or choose
  840.   one from a directory list.
  841.  
  842.  
  843.   When the form is larger than the screen, the arrow keys will move the form
  844.   to allow viewing of other sections.
  845. #340#
  846.  
  847.   You can create many different sizes of forms in EZ-Forms DataBase.  One
  848.   of the most common is 64 lines by 80 columns.  Text 80 columns wide at
  849.   10 cpi will just fill a 8 1/2" x 11" sheet of paper.  Most printers use
  850.   66 lines per page vertically.  So if you allow for a little leeway on
  851.   positioning the printer head at the VERY top of the page, things should
  852.   fit well.
  853.  
  854.   If you have a 80 column printer like the Epson MX80, you can print a form
  855.   as large as 88 lines by 132 columns by using compressed print and 8 lines
  856.   per vertical inch.
  857.  
  858.   Those of you lucky enough to have a wide carriage printer may be able to
  859.   print up to 130 columns normal size print or about 230/240 in the
  860.   compressed mode. The largest form you can print on a MX100 with wide paper
  861.   is 88 lines (if you use 8 lpi) by 230/240 columns.  This is a huge form!
  862.  
  863.   For multiple page forms, simply total up all the lines.  So for a 3 page
  864.   form where there are 66 lines per page, the total number of lines is 198.
  865.   The maximum EZFDB form height is 999 lines, and the maximum width is 254
  866.   columns.  This is dependent on the maximum settings in the Config - Memory
  867.   menu.
  868. #350#
  869.  
  870.   Form - Setup allows you to enter field names directly into the form, so
  871.   that you can see the form while you're deciding on names.  Form names can
  872.   also be assigned when creating a new database with Database - New, but the
  873.   form is not accessible there.  Use F2 to view/paste database field names.
  874.  
  875.   Field names consist of up to 10 characters with only alphabetic, numeric
  876.   and the '_' characters allowed.  Alphabetic case is insignificant.  Field
  877.   windowing is used when the field is smaller than 10 characters.  All form
  878.   field names and parameters are stored in the form/database (.fdb) file.
  879.  
  880.   Until the database is opened or created, form field names only apply to
  881.   the form.  When a new database is created, the database field names are
  882.   made identical to the form field names.  When a database is open and an
  883.   then an alternate form is opened (without closing the database), the form
  884.   field names are matched up to the database field names, in order to find
  885.   out where to place data on the form.  Any fields without a match always
  886.   display blanks and any data entered into these fields will be lost.
  887.  
  888.   F2 - View/paste database field names   F7 - Insert new field name
  889.   F3 - Form Field Parameters             F8 - Delete field name at cursor
  890.                                          F9 - Edit name full size
  891. #351#
  892.  
  893.   F3 brings up a Form Field Setup dialog box.  This is where Field
  894.   Sequencing and Word Wrap is selected.  Field Sequencing controls where the
  895.   cursor will go after data entry for the current field is complete.  This
  896.   is the forward sequence.  Normally, the next field is defined by normal
  897.   left to right, top to bottom sequence.  Field Sequencing allows for
  898.   alternate sequencing, to make data entry easier and more intuitive.  The
  899.   next field is selected by entering its name, which also automatically
  900.   selects the backward sequencing from the next field to the current field.
  901.   Field sequencing is sometimes necessary, when lines contain multiple fields,
  902.   with unrelated purposes.
  903.  
  904.   Word Wrap can be selected for each field, and is normally off.  With
  905.   Word Wrap on, words will not be divided between fields, unless a word is
  906.   too large for the field.  When there are words in the next field, the
  907.   wrapped word is inserted at the beginning. This word wrap process
  908.   continues, in word-processing fashion, until a non-word-wrap field is
  909.   encountered. You will also notice that cursor movement within and
  910.   between fields changes to be more like a word processor.
  911. #360#
  912.  
  913.   EZ-Forms DataBase Form Editor Commands:
  914.  
  915.   FUNCTION KEYS              ALT FUNCTION KEYS        CTRL FUNCTION KEYS
  916.   ═════════════════════════  ═══════════════════════  ═══════════════════════
  917.   F1 - Help                  AF1 - Form Help          CF1 -
  918.   F2 - Resize Form           AF2 - Form Pick List     CF2 -
  919.   F3 - Insert Field Markers  AF3 -                    CF3 -
  920.   F4 - Delete Field Markers  AF4 -                    CF4 -
  921.   F5 - Draw Line             AF5 -                    CF5 -
  922.   F6 - Erase Line            AF6 -                    CF6 -
  923.   F7 - Draw Border           AF7 -                    CF7 -
  924.   F8 - Erase Border          AF8 -                    CF8 -
  925.   F9 - Clear Form            AF9 -                    CF9 -
  926.   F10- Editor Menu           AF10-                    CF10-
  927. #361#
  928.  
  929.   Single keystroke commands (most of these can also be executed via F10):
  930.  
  931.   Alt A - Alternate Character Lookup  Ctrl A - Add Block Attributes
  932.   Alt B - Bold Text                   Ctrl B - Box Draw for Marked Block
  933.   Alt C - Copy Block                  Ctrl C -
  934.   Alt D - Delete Block                Ctrl D -
  935.   Alt E - End Block                   Ctrl E - Erase Block Attributes
  936.   Alt F - Find Text                   Ctrl F - Feed Date/Time into form
  937.   Alt G - Graphics Walk-Around        Ctrl G - Delete Character
  938.   Alt H - Hide Block (disable block)  Ctrl H - (same as backspace)
  939.   Alt I - Information about Form      Ctrl I - (same as tab)
  940.   Alt J - Justify Text                Ctrl J - Insert a line at cursor
  941.   Alt K - Cross Hatch Generator       Ctrl K - WordStar-like ^K Commands
  942.   Alt L - Line Graphics Palette (1-4) Ctrl L - Large Character Lookup
  943.   Alt M - Move Block                  Ctrl M - (same as Enter)
  944.   Alt N - Notepad (use between forms) Ctrl N - Number (Auto Number Setup)
  945.   Alt O -                             Ctrl O - Kybd macro prefix (Global)
  946.   Alt P - Print Current Form          Ctrl P - Patch Form
  947.   Alt Q - Abort edit                  Ctrl Q - Abort/Flush macro
  948.   Alt R - Replace Text                Ctrl R - Read ASCII file from disk
  949.   Alt S - Start Block                 Ctrl S - Save Form and Resume Edit
  950. #362#
  951.  
  952.   Single keystroke commands continued:
  953.  
  954.   Alt T - Text rotation (vertical)    Ctrl T -
  955.   Alt U - Underline                   Ctrl U -
  956.   Alt V - Visible block enable        Ctrl V - Verbose (Help Message Level)
  957.   Alt W -                             Ctrl W - Write ASCII file to Disk
  958.   Alt X - Save form then exit edit    Ctrl X - Exit to DOS Shell (Global)
  959.   Alt Y - Generate CFO Grid           Ctrl Y - Delete Line
  960.   Alt Z - Printer Cmds (Greek Chars)  Ctrl Z -
  961.   Alt = - Kybd macro Menu (Global)
  962.  
  963.   Ctrl Enter - Inserts a line in the form at the current cursor line.
  964.  
  965.   NOTE:  The various graphics commands use one of four different sets of
  966.          line type characters, depending on the palette selected with Alt L.
  967. #363#
  968.  
  969.   Most printers support printing of graphic characters.  EZ-Forms DataBase
  970.   provides printer drivers to handle most of them.  If you have a text only
  971.   printer, then EZ-Forms DataBase provides a translation of these characters
  972.   into something your printer can handle.
  973.  
  974.   Cursor movement commands:
  975.   ═════════════════════════
  976.   Use the keypad arrows to move        Home  Move to left side of form
  977.   left, right, up, and down.           End   Move to right side of form
  978.                                        Ctrl Home  Upper left of form
  979.   Use the Control key with the         Ctrl End   Lower left of form
  980.   keypad left and right arrows         Ctrl PgUp  Top of screen/form
  981.   to move to left and right of form.   Ctrl PgDn  Bottom of screen/form
  982.  
  983.   Note: Commands beginning with the Ctrl, Alt or Shift key, are selected by
  984.         holding down the  first key and then pressing the second key.  For
  985.         example: to use the Ctrl Home command, you would hold down the
  986.         Control key and then press the Home key once.
  987. #364#
  988.  
  989.  Note:  Auto numbering must be set up in the form.  During data entry, this
  990.         information is used to automatically insert the updated number into
  991.         the record.
  992.  
  993.  Special character oriented commands that only affect printing: 
  994.  
  995.     Alt U -- Underline the character at the cursor.  NOT on graphics!
  996.     Alt B -- Bold the character at the cursor.  NOT on graphics!
  997.     Alt 1 -- User defined function 1.   \
  998.     Alt 2 -- User defined function 2.    \  Use the Alt I command to see
  999.     Alt 3 -- User defined function 3.    /  the configured names for these.
  1000.     Alt 4 -- User defined function 4.   /
  1001.  
  1002.     Note: These affect only the printed form.  A status of these commands is
  1003.           shown on the bottom of the screen.  You can see the status updated
  1004.           as you move the cursor.  Character status will toggle from U and B
  1005.           if you press the key again.  The user defined functions can be
  1006.           altered thru the configuration portion of EZ-Forms DataBase.
  1007. #370#
  1008.  
  1009.   Form - Describe will change the descriptive comment that shows up whenever
  1010.   you request a form directory listing.  This description is also entered
  1011.   whenever a form is saved from the form editor.  A similar description is
  1012.   also maintained for each database, and can be changed with the
  1013.   Database - Describe command.
  1014.  
  1015.   When listing a form directory, to get the form descriptions, EZFDB must
  1016.   must read part of each form (.frm) file.  This can be rather time
  1017.   consuming on slower machines, or on directories with very many forms.  The
  1018.   Config - Files menu contains an option to turn off descriptions when
  1019.   listing form directories.  Initially, this is on.
  1020. #400#
  1021.  
  1022.   Add Records
  1023.   ═══════════
  1024.  
  1025.   Add new records to current database.  New records are concatenated onto
  1026.   the end of the database file.  The new key values along with the database
  1027.   record number will be inserted into all index files in the Index List.
  1028.  
  1029.   When you enter the F10 function key, the record will be added.  If no
  1030.   error occurs, you will get a menu of options:
  1031.  
  1032.         A  Add another record       
  1033.         R  Revise current record    
  1034.         P  Print this form            Same as Print - Single
  1035.         L  Print label              
  1036.         F  Print with alternate form  Explained on next screen
  1037.         E  Exit or Escape           
  1038.                                      
  1039.         Your selection (ARPLFE)?    
  1040.  
  1041.  
  1042. #401#
  1043.  
  1044.   The 'L - Print label' and 'F - Print with alternate form' commands require
  1045.   a form file (.frm) and associated form/database (.fdb) file.  The
  1046.   form/database file must contain at least one form field name that matches
  1047.   a database field name.  After the files are read, the alternate form is
  1048.   matched to the database by field name and the appropriate data is inserted
  1049.   into the new form.  Then, the Print Setup menu allows you to print the
  1050.   alternate form with the current data.  Once printing is complete, the
  1051.   original form is re-loaded and the previous menu appears.
  1052.  
  1053.  
  1054.   Unique Indexes
  1055.   ══════════════
  1056.  
  1057.   If you've selected any of the indexes to have unique key values only,
  1058.   and the record you're adding contains a key value that is already in that
  1059.   index file, the record will not be added to the database or any of the
  1060.   index files.  Unique indexing is an option available at time of index
  1061.   creation with the Index - Create command.  This prevents adding of
  1062.   duplicate records.
  1063. #410#
  1064.  
  1065.   EZ-Forms DataBase Display Commands:
  1066.  
  1067.  
  1068.   FUNCTION KEYS
  1069.   ═════════════════════════════════════════════════════════════════════════
  1070.   F1 - Help
  1071.   F2 - Search for record matching given value, anywhere within record
  1072.   F3 - Find records via match of given mask against record
  1073.   F4 - Query database for records via index key and/or selection criteria
  1074.   F5 - Find next record containing duplicate key
  1075.   F6 - Select a record by entering its database record number
  1076.   F7 - Add a record
  1077.   F8 - Delete/undelete this record (can be purged later)
  1078.   F9 - Edit this record
  1079.   F10- Exit
  1080. #411#
  1081.  
  1082.   Edit Records
  1083.   ════════════
  1084.  
  1085.   At this point, you can browse through all records in the database by
  1086.   using the keys listed later in this help area.  To help find a particular
  1087.   record, you can use one of the movement keys described previously, or you
  1088.   can use one of the find commands, Search (F2), Match (F3) or Query (F4).
  1089.  
  1090.   The Search command is probably a good first choice, since all that is
  1091.   required is a string of sequential characters for which to look.  The
  1092.   Match command may be more accurate, if you know what field the characters
  1093.   are in.  Even though Search and Match are fairly simple, they may need
  1094.   a long time to find the record, since each record is searched one by one.
  1095.   The Query command has two parts, of which either or both can be used to
  1096.   help find records.  The first part deals with using the current index file
  1097.   to find a record.  As long as the character string of interest lies at the
  1098.   beginning of an index key, a matching record can be found in an instant.
  1099.   The second part of the Query command allows you to enter an expression
  1100.   for selecting certain records.  The expression query still must search
  1101.   record by record, but entering an index key to search for (first part) can
  1102. #412#
  1103.  
  1104.   speed this up by finding a record that matches the key before searching
  1105.   via the expression.
  1106.  
  1107.   To edit any record, use F9 to enter the edit mode on the currently
  1108.   displayed record.  Using the F8 key to delete a record will simply tag the
  1109.   record for later removal by the Revise - Purge command.  The Config -
  1110.   Misc command can change whether the delete-tagged records are displayed
  1111.   by any of the record display commands.  If you know the number of a
  1112.   particular record you want to see, you can use the F6 function to retrieve
  1113.   that record by number.
  1114.  
  1115.   A record's number is its position in the file relative to the beginning of
  1116.   the file.  The very first record is number 1 and they are numbered
  1117.   sequentially after that.  A database can contain up to 2,147,483,647
  1118.   records, assuming your disk is large enough.  Once a record is added, its
  1119.   record number is fixed until the record is deleted with the F8 function and
  1120.   purged with the Revise - Purge command.  After a record is purged, its
  1121.   record number and position in the file are reused by the next valid record.
  1122. #420#
  1123.  
  1124.   Revise - Delete allows you to delete all records that match the selection
  1125.   criteria you provide.  Once deleted, the records remain in the database
  1126.   until the database is purged.  The Config - Other command contains an
  1127.   option for selecting whether EZFDB displays deleted records or not.
  1128.  
  1129.   This command is useful for situations where you want to rid your database
  1130.   of some records that contain data that set them apart from the records you
  1131.   do want.  For example, let's say your database is getting too large for
  1132.   your disk and you want to delete all records that are older than a year.
  1133.   Assuming that today's date is 12/22/92 and the date field's name is 'DATE',
  1134.   you would enter this formula for the selection criteria:
  1135.  
  1136.   DATE < ctod('12/22/92')
  1137.  
  1138.   When this command finishes, it displays the number of records found and the
  1139.   number of records deleted.  If these numbers are different, its only
  1140.   because some of the records it found were already deleted.
  1141. #430#
  1142.  
  1143.   Revise - Undelete allows you to restore any set of previously deleted
  1144.   records.  It will not allow you to restore any deleted records that
  1145.   have already been purged by the Revise - Purge command.
  1146.  
  1147.   This command allows you to easily change your mind about records you've
  1148.   previously deleted.  For example, let's say that you normally delete
  1149.   invoices for orders that total less than $5.00.  Assuming that the total
  1150.   field is Numeric and it's name is 'TOTAL', you could enter this formula
  1151.   for the selection criteria:
  1152.  
  1153.   TOTAL < 5.00
  1154.  
  1155.   When this command finishes, it displays the number of records found and the
  1156.   number of records undeleted.  If these numbers are different, its only
  1157.   because some of the records it found were already not deleted.
  1158. #440#
  1159.  
  1160.   Revise - Purge will physically remove all deleted records from your
  1161.   database.  This allows you to reuse the space taken up by deleted records.
  1162.   You will probably want to make a backup of your database before running
  1163.   this command.
  1164.  
  1165.   CAUTION: Be  v e r y  careful, since no backup copy of the database is
  1166.            automatically made before the purge is carried out.  Once the
  1167.            purge is started, it may be impossible to restore the deleted
  1168.            records.
  1169.  
  1170.  
  1171.   NOTE: After the database is purged, any record numbers that you've noted
  1172.         may now be different.  Be careful when recalling records with these
  1173.         possibly obsolete numbers.
  1174. #450#
  1175.  
  1176.   Revise - Merge will add records to your database from another dBASE
  1177.   compatible file that has some matching field names.
  1178.  
  1179.   First, you select a database to merge.  Then EZFDB will check each field
  1180.   name in the merge database against each field in the current database.
  1181.   If there are no matches, an error is given.  If there is at least one
  1182.   match, one record is added to the current database from each record in
  1183.   the merge database.  Only the fields that match by name are copied into
  1184.   the new database record.  All unmatched fields are left blank.  Any size
  1185.   discrepencies between matched fields are handled by truncation or
  1186.   padding with spaces, whichever is appropriate.
  1187.  
  1188.   CAUTIONS: No field-type validation is performed on non-character fields.
  1189.             No field calculations are performed.
  1190.  
  1191.   Finally, one record is added to the current database from each record
  1192.   in the merge database.  Indexes are automatically updated.
  1193. #460#
  1194.  
  1195.   Revise - Import will add records from a non-dBASE compatible database.
  1196.  
  1197.   First, you select a database to import.  Then EZFDB asks you for a
  1198.   database file type, all of which are listed on the next screen.  These
  1199.   same file types are also available for export with Database - Export.
  1200.  
  1201.   The only way this command will work is if the fields in the import
  1202.   database are in the same order as the fields in the current database.
  1203.   Additionally, if there are no field separators, the fields must match
  1204.   up by size or translation errors will occur.  Also, for type 5 where
  1205.   there is no record delimiter, the record length must exactly match.
  1206.  
  1207.   CAUTIONS: No field-type validation is performed on non-character fields.
  1208.             No field calculations are performed.
  1209.  
  1210.   Finally, one record is added to the current database from each record
  1211.   in the import database.  Indexes are automatically updated.
  1212. #461#
  1213.  
  1214.   The following types are supported:
  1215.  
  1216.    Type  Field Sep  Rec Sep     Notes
  1217.    ══════════════════════════════════════════════════════
  1218.      1      CR LF     None     PeachText (field per line)
  1219.      2        ,       CR LF    MailMerge
  1220.      3        ,       CR LF    Lotus PRN
  1221.      4      None      CR LF    Fixed length packed 1
  1222.      5      None      None     Fixed length packed 2
  1223.      6      None      CR Only  File Express format
  1224. #470#
  1225.  
  1226.   Revise - Recalc will recalculate all field calculations in all records.
  1227.   If you've turned Auto Recalc on, this may not be needed, since all field
  1228.   calculations would be performed during data entry, and just prior to saving
  1229.   a record during an Add or Edit function.
  1230.  
  1231.   Here are some examples where Revise - Recalc may need to be run:
  1232.  
  1233.   1) After merging or importing records from another database.
  1234.  
  1235.   2) After changing some fields with the Revise - Substitute command.
  1236.  
  1237.   3) You normally leave Auto Recalc off, and now you do want to
  1238.      calculate everything.
  1239.  
  1240.   4) After changing some pertinent information in a database that is
  1241.      'related' to the current database via the Relate function in a field
  1242.      calculation.
  1243. #480#
  1244.  
  1245.   Revise - Substitute will set a certain field of selected records to a
  1246.   particular value.  An expression can be used to create the value.
  1247.  
  1248.   For example, assume the selection criteria expression is 'ZIP='606', the
  1249.   field name is 'STATE' and the substitute expression is '"IL"'.  This will
  1250.   place 'IL' into the 'STATE' field of all records with zip codes starting
  1251.   with '606'.
  1252.  
  1253.   This command achieves nearly the same result as the Replace command of
  1254.   any word processing program.  The search value in the word processor's
  1255.   Replace command is similar to the selection criteria expression in
  1256.   conjunction with the field name.  The replace value is similar to
  1257.   EZFDB's substitute expression.  The substitute expression can specify any
  1258.   value of the same type as the field to be substituted.  This allows the
  1259.   use of math, relations, properizations, etc.  When the replace is carried
  1260.   out, the entire field is set to the substitute expression's result, not
  1261.   just the portion found.  So, the entire field is replaced.
  1262. #490#
  1263.  
  1264.   Revise - Fields allows you to change any database characteristic, except
  1265.   database field width.  To change field widths or field order, a rebuild
  1266.   with Database - Build will be necessary.  Field Calculation and
  1267.   Relational Pick Lists are saved into the database-related (.dbr) file.
  1268.   All other field characteristics are saved into the database (.dbf) file.
  1269.  
  1270.   A Field Calculation is an operation performed on a particular field.  This
  1271.   operation is specified by an expression, which evaluates to a result of
  1272.   the same type as its field.  Entry and modification of Field Calculations
  1273.   can only be done with the Revise - Fields command.
  1274.  
  1275.   A Relational Pick List is a more visual but less automatic version of the
  1276.   automatic Lookup feature, available via a Field Calculation.  It is also a
  1277.   more powerful version of the Form Pick List.  Instead of choosing from a
  1278.   fixed list, records from a related (secondary) database are displayed in a
  1279.   pick list manner.  Data from the current (primary) record helps select the
  1280.   start of the list, but all records are accessible.
  1281.  
  1282.   Since these characteristics are kept with the database, data entry
  1283.   through an alternate form will have no affect on Field Calculations or
  1284.   Relational Pick Lists, even if some db fields are missing from the form.
  1285. #491#
  1286.  
  1287.   Revise - Fields presents a list of fields.  Selecting one of the fields
  1288.   with F2 or F3, will present a dialog box for modification of the chosen
  1289.   field characteristics.  Once in a dialog box, the direct field selection
  1290.   keys PGUP (previous field), PGDN (next field), Ctrl PGUP (first field) and
  1291.   Ctrl PGDN (last field) are active.  The F10 key will return back to the
  1292.   field selection list.  F10 from the selection list will save the changes.
  1293.  
  1294.   NOTE: All indexes are rechecked after the new characteristics are saved to
  1295.         the database.  If you change the name or type of a field whose old
  1296.         name or type is being used by an index, an error will result.
  1297.         Rebuild all index files which use old field names or types in their
  1298.         key expressions.
  1299. #500#
  1300.  
  1301.   View - Look
  1302. #510#
  1303.  
  1304.   Search for a record containing a given value, anywhere within that record.
  1305.   Alphabetic case is insignificant.
  1306.  
  1307.   This is the simplest method of searching, but it may find more records
  1308.   than you need, in which case you may have to specify a longer search
  1309.   string or use the Match or Query command instead.
  1310.  
  1311.   The 'index number of where to start search' allows you to speed up the
  1312.   search by specifying at what position in the file to start the search.
  1313.   The index number is very similar to the record number.  The index number
  1314.   represents the position of a record's index key within the active index
  1315.   file, relative to the beginning of that file.  When there is no active
  1316.   index, the index number is identical to the record number.
  1317. #520#
  1318.  
  1319.   Find records by applying the given mask to each record until a match
  1320.   results.  Any character position containing a '*' will be masked out
  1321.   of the search, essentially ignoring it.  The '*' represents a wild card,
  1322.   where it in effect matches any character.  All other characters are
  1323.   matched by position, ignoring alphabetic case.
  1324.   
  1325.   A Match is more powerful than a Search, but more information about the
  1326.   target record is required.  In some cases, Match may be too restrictive
  1327.   or too slow.  The Query command can utilize the index to speed up the
  1328.   search, or it can use a search expression for maximum accuracy.
  1329. #530#
  1330.  
  1331.   Query gives you the most power in finding records.  To accomplish this,
  1332.   Query is divided into two parts, either or both of which can be used.
  1333.   The first part, which is placed in the upper half of the entry box, is
  1334.   called the Seek, where the currently active index is used to find a record.
  1335.   The second part, which is placed in the lower half of the entry box, is
  1336.   called the Find, where an expression is used to find a set of records.
  1337.   The additional power comes from being able to combine the above two parts
  1338.   to speed up an otherwise slow Find.  When both parts are specified, a
  1339.   Seek is performed to find a matching index key, then the sequential Find
  1340.   is performed, record by record.  If there is no active index, the index
  1341.   key value is ignored.
  1342.  
  1343.   For example, assume we have a database of names and address indexed by zip
  1344.   code and we want to find 'John Brown' in zip code '99076'.  If we use the
  1345.   Find part by itself, the selection criteria expression would be:
  1346.  
  1347.     NAME = 'John Brown' .AND. ZIP = '99076'
  1348.  
  1349.   Since Find searches in index order and doesn't automatically notice that
  1350.   zip code is part of the expression, we must needlessly sit through the
  1351. #531#
  1352.  
  1353.   first part of the search.  For a large database, this can take quite some
  1354.   time.  All zip codes from 00000 to 99075 must be searched before it finds
  1355.   99076.  With the Seek part alone, we need just enter '99076' as the index
  1356.   value, and the first record with zip code 99076 is immediately found.  But
  1357.   still, we have to use the Find part to find 'John Brown'.  If both parts
  1358.   are used in conjunction, the responses would be:
  1359.  
  1360.     Index value:
  1361.     99076
  1362.  
  1363.     Selection criteria expression:
  1364.     NAME = 'John Brown'
  1365.  
  1366.   The first record for zip code 99076 is found immediately, and then the
  1367.   first John Brown record is found.  In many cases, the Query command will
  1368.   be faster than Search or Match, even for simple searches like the above
  1369.   one.  However some of this speed gain is offset by the extra time needed
  1370.   to enter an expression.  For the uninitiated, this can be considerable.
  1371.   You will need to judge, based on the situation, whether to use Search,
  1372.   Match or Query to achieve the quickest overall results.
  1373. #532#
  1374.  
  1375.   To further clarify, a Seek is almost always faster than a Find for two
  1376.   reasons:
  1377.  
  1378.     1) Since the index fields are already known, only a value need be
  1379.        entered instead of an entire expression.
  1380.     2) Find searches the database record by record, using the index to
  1381.        order the search.  Seek uses the index file only, and since the
  1382.        index file is maintained in the B+Tree format, the search is very
  1383.        fast.  Once the value is found in the index, the corresponding record
  1384.        is retrieved instantaneously.  Query essentially combines the above
  1385.        two operations - Seek followed by a Find.
  1386.  
  1387.   A Seek can result in one of the following conditions:
  1388.  
  1389.     1) The value was found.
  1390.  
  1391.     2) Inexact find.  The value was found but had fewer characters than the
  1392.        index file keys.  For example, if "Andy    " was the index file key
  1393.        value, seeking for "Andy" would yield an inexact find since there were
  1394.        8 characters in the index file key value and 4 characters in the seek
  1395. #533#
  1396.  
  1397.        value and the first 4 characters match.
  1398.  
  1399.     3) The value was not found, so the record with the key value that's just
  1400.        greater than the seek value will be displayed.
  1401.  
  1402.     4) The value was not found, and the end-of-file was reached during the
  1403.        search.  Therefore, the next greater value record can't be displayed.
  1404.  
  1405.   A Find can be sped up by turning off all indexes with the Index - Off
  1406.   command.  This will search the database record by record without using
  1407.   any index file and result in faster file accessing.  Turning off all
  1408.   indexes will of course disable the Seek operation.
  1409.  
  1410.   Case Sensitivity
  1411.   ════════════════
  1412.  
  1413.   The Search and Match functions are not sensitive to alphabetic case, but
  1414.   Query (Seek then Find) is.  To minimize Seek errors, the seek value is
  1415.   automatically converted to upper case whenever the 'upper' function
  1416.   appears at the beginning of the index expression.  Similarly, the 'lower'
  1417.   function will automatically convert the seek value to lower case.
  1418. #540#
  1419.  
  1420.   View - Browse will display 21 records per screen and allow you to browse
  1421.   through the entire database.  A Selection Criteria expression can select
  1422.   which records to display.  For example, by entering the expression
  1423.   'city="CHICAGO"', you can limit Browse to only display records for
  1424.   'CHICAGO'.  Once in the Browse screen, you can change the selection
  1425.   criteria by using a function key to select Search, Match or Query.
  1426.  
  1427.   First, enter the names of the fields you want to see on the screen,
  1428.   separated by '/'s.  If you choose less than can fit on the screen, the
  1429.   fields directly following the last one you list are used to fill it up.
  1430.   If you choose more than can fit on the screen, the remainder is truncated.
  1431.   Then, you can enter the selection criteria expression.  On the screen, one
  1432.   of the top lines is devoted to column titles, which are simply the names of
  1433.   the fields.
  1434.  
  1435.   When no fields are entered and the input line is blank, EZFDB
  1436.   automatically builds the screen starting with the first database field,
  1437.   and continuing in database field order until the screen is filled.
  1438.  
  1439.   View - Browse also allows you to delete/undelete records, search for
  1440.   duplicates, edit, add, and view the entire form.
  1441. #550#
  1442.  
  1443.   View - Report will display a summary of a set of records.  The summary
  1444.   consists of at least a count.  When a Numeric field is specified, the
  1445.   summary also includes a sum and average.  The count is the number of
  1446.   records that match the selection criteria.  This means that the expression
  1447.   is evaluated on every record of the database and the count is incremented
  1448.   by one for each record that yields a true result.  When the optional field
  1449.   is entered and its Numeric, a sum and average are computed on that field
  1450.   for each record that was counted.
  1451.  
  1452.   This command is useful for getting some quick overall information on your
  1453.   database.  For example, if you wanted to count the number of records that
  1454.   contained 'HOUSTON' in the city field, you could enter:
  1455.  
  1456.     Expression: 'HOUSTON' $ city
  1457.                                 
  1458.     Report Field:               
  1459.  
  1460.  
  1461.   After all records are accessed, a count would appear.  A sum and average
  1462.   is not computed since no Report Field was specified.  Also, now you can
  1463.   choose to run Report again or make a simple printout of it.
  1464. #560#
  1465.  
  1466.   View - Fields lets you browse through all the field definitions for the
  1467.   current database.  The display style is identical to the Revise - Fields
  1468.   command's display.
  1469.  
  1470.     Num   - field's order number
  1471.  
  1472.     Name  - field name, used in expressions
  1473.  
  1474.     Type  - C)haracter, N)umeric, D)ate, L)ogical or M)emo
  1475.  
  1476.     Width - A.B, where A is the total width and B is the number of places
  1477.                 after the decimal point for Numeric fields
  1478.  
  1479.     Field Calculation - expression used for field's data
  1480.                 (truncates at end with '...' if too long)
  1481. #570#
  1482.  
  1483.   View - Other
  1484.  
  1485.  
  1486.   To be done - any volunteers?        
  1487. #580#
  1488.  
  1489.   View - Info displays a single screen of pertinent information regarding
  1490.   the current status of EZ-Forms DataBase.
  1491.  
  1492.   The screen is divided into four parts:
  1493.  
  1494.  
  1495.   Database - info on currently loaded, open database
  1496.  
  1497.   Form - info on currently loaded form
  1498.  
  1499.   Indexes - info on current index and Index List
  1500.  
  1501.   DOS - memory statistics
  1502.  
  1503.  
  1504.   Blank parts signify no available information.
  1505. #600#
  1506.  
  1507.   Index - Select allows you to select a new current index from the index
  1508.   list.  The current index is the index that controls the order in which
  1509.   records are displayed.  The Index List is a list of index files that are
  1510.   valid for the current database.  The Index List is stored in the .dbr
  1511.   (database definitions) file.  Index files can be added to the Index List
  1512.   by using the Index - Create or the Index - Include command.  Index files
  1513.   can be deleted from the list by using the Index - Erase command.  To select
  1514.   an index, a list of valid index files in the Index List is given.  The
  1515.   cursor initially highlights the current index.  The columns are as follows:
  1516.  
  1517.     Name - index file name
  1518.     D - This letter stands for 'Default'.  A 'D' in this column indicates
  1519.         that this index is the default current index.  That means that this
  1520.         index will be the current index whenever this database is selected
  1521.         via the Database - Open command.
  1522.     U - This letter stands for 'Unique'.  A 'U' in this column indicates that
  1523.         this index was created with the 'unique' option.  Anytime a record
  1524.         is added or revised with an index key identical to one that already
  1525.         exists, an error will result.
  1526.     Expression - The expression that was used to create the index file.
  1527. #610#
  1528.  
  1529.   Index - Off turns off all indexed record access.  This allows the records
  1530.   to be displayed in chronological order.  When a database is first created,
  1531.   no indexes exist for it and the Index List is empty.  All displays show the
  1532.   records in chronological order, i.e., the order in which the records were
  1533.   entered.  Once the first index is created, it becomes the default index.
  1534.   Whenever the database is selected via the Database - Open command, the
  1535.   default index is active.  The only way to go back to a chronological index
  1536.   is either by using the Index - Erase command to erase the index or by using
  1537.   this command to turn off all indexes.
  1538.  
  1539.   Even after indexed record access has been turned off, all indexes are
  1540.   still updated whenever a record is added or modified.
  1541.  
  1542.   Turning off indexed record access is a way to speed up the Find command,
  1543.   since it normally searches using the active index, which takes more time.
  1544. #620#
  1545.  
  1546.   Index - Find Dup will find any records that have the same index key values.
  1547.   This command will only work on the current index so be sure to select
  1548.   the appropriate index for your duplicate search.  Duplicates cannot be
  1549.   found when there is no index selected, since no key is defined.
  1550.  
  1551.   Once the first duplicate is found, all record movement functions are
  1552.   available.  This allows you to move between the duplicates to help decide
  1553.   which duplicate needs to be modified, deleted or whatever.  To continue
  1554.   the duplicate search, or to restart the search at any time, use the F5
  1555.   function.
  1556.  
  1557.   NOTE: When you delete a record, and the Use Deleteds option in
  1558.         Config - Other is off, the next record in the list is automatically
  1559.         displayed.  If the next record is another duplicate, it may not be
  1560.         found as such, since the F5 function starts duplicate searching from
  1561.         the current record.  The solution is to move to the previous record
  1562.         after deleting one.
  1563.  
  1564.   The View - Browse screen also has an F5 - Find Duplicate function.  This
  1565.   can be more useful when more than one duplicate exists for any record.
  1566. #630#
  1567.  
  1568.   Index - Create will create a new index file from a given expression.  When
  1569.   complete, the index's file name will be added to the Index List.  There is
  1570.   a limit of 12 indexes in the Index List.
  1571.  
  1572.   The expression must be the kind that evaluates to a Character or Numeric
  1573.   type.  Logical expressions are only used for selection criteria.  Memo
  1574.   fields cannot be used in an index expression.  The result of the expression
  1575.   on a given record is the index key for that record.  The result must be of
  1576.   proper type and cannot be longer than 100 characters.
  1577.  
  1578.       UPPER(last_name+first_name)
  1579.  
  1580.   This expression will create an index ordered by each record's last_name
  1581.   then first_name fields, all converted to upper case.  For example, if
  1582.   last_name='Smith          ' and first_name='Andrea         ', the index
  1583.   key is 'SMITH          ANDREA         ', which is of Character type.
  1584.  
  1585.   A filename for the index file is required.  If the filename already exists
  1586.   in the Index List or in the specified directory, a warning is given before
  1587.   the file is overwritten.
  1588. #631#
  1589.  
  1590.   The 'Require unique key values' question requires a yes or no response.
  1591.   When yes, any duplicate keys encountered during index creation will halt
  1592.   the creation process with an error indicating what record contains the
  1593.   duplicate key.  In addition, duplicate key values will cause an error after
  1594.   adding or revising a record.  Records with key values already in the index
  1595.   file cannot be entered.  A 'no' response allows any keys, and therefore
  1596.   allows possibly duplicate records.
  1597.  
  1598.   To create a descending index, use the DESCEND function.  For example, to
  1599.   create a descending index using the previous example, enter:
  1600.  
  1601.       DESCEND(UPPER(last_name+first_name))
  1602.  
  1603.   To create a descending index with a date value or numeric value, first
  1604.   convert it to a character value with the DTOS or VAL functions.  For
  1605.   example, to create a descending index using a date field, enter:
  1606.  
  1607.       DESCEND(DTOS(date))
  1608.  
  1609.   For a numeric field, enter:  DESCEND(VAL(number))
  1610. #640#
  1611.  
  1612.   Index - Rebuild will rebuild any one index file or all index files listed
  1613.   in the Index List.  Rebuilding an index file is usually only necessary when
  1614.   one of the files has been damaged or the database has been modified without
  1615.   the corresponding modification made to the index files.  EZFDB cannot
  1616.   always determine when an index file is invalid.  Occasional checks are
  1617.   made where possible.  Here are some examples of when the index file is
  1618.   partially checked for validity:
  1619.  
  1620.     1) When a database is initially selected, the database file and all its
  1621.        Index List indexes are opened.  When an index file is opened, the
  1622.        expression that was used to create the index file is checked against
  1623.        the database for valid field names and field types.
  1624.     2) When an index is active, the index helps determine which record to
  1625.        display.  A particular entry in the index file corresponds to a
  1626.        record in its database.  If the corresponding record no longer exists
  1627.        or it has a different key value, an error will occur.
  1628.     3) When a record is accessed by number, the index file is not needed.
  1629.        After the record is retreived however, the key is determined and
  1630.        found in the index file to setup the next indexed access.  An error
  1631.        will occur when the key is not found in the index file, or when the
  1632.        key points to a different database record.
  1633. #650#
  1634.  
  1635.  
  1636.   Index - Erase will delete an index file and remove its entry from the Index
  1637.   List.  This may be necessary when you decide that you no longer need an
  1638.   index you've previously created.
  1639.  
  1640.   If an index file is deleted by any other method, you will get an error
  1641.   when the database is opened with Database - Open, since the index file name
  1642.   is still present in the Index List.  At that time, you can choose to delete
  1643.   the index from the Index List, thereby eliminating future error messages.
  1644. #660#
  1645.  
  1646.   Index - Include will add an existing index file to the Index List.  This
  1647.   is only needed when the database and its index files were created by
  1648.   another program and you're setting it up for use with EZFDB.
  1649.  
  1650.   Enter the index name only, without the .ndx extension.  If you don't
  1651.   remember exactly what it's called, a list of files will be presented
  1652.   whenever you enter just the directory name and leave the filename blank,
  1653.   or whenever you enter a wildcard for the file name.  Directory listings
  1654.   consist of files in the current directory, then subdirectories in the
  1655.   current directory, then valid drives.  Selecting a file will load that
  1656.   index.  Selecting a subdirectory will show a listing for that subdirectory.
  1657.   Selecting a drive will show a listing for the current directory on that
  1658.   drive.
  1659.  
  1660.   A file or directory name consists of up to 8 characters.  The following
  1661.   characters CANNOT be used in file or directory names: ."/\[]:|<>+=;,
  1662.   Directory names are optional and if left blank, the current directory
  1663.   is assumed.  The directory name can contain a drive name, a path name or
  1664.   both.  A path name is a list of directories separated by backslash
  1665.   characters ('\'), that leads through the directory tree up to the
  1666.   directory of interest.
  1667. #670#
  1668.  
  1669.  
  1670.   Index - Default will select a default index.  This is the index that will
  1671.   be active whenever the database is selected using the Database - Open
  1672.   command.  The default index is identified by a 'D' in the Index - Select
  1673.   command's index listing.  The View - Info command will also indicate the
  1674.   default index.
  1675. #680#
  1676.  
  1677.  
  1678.   Index - Test will completely test the accuracy of all indexes.  In
  1679.   most cases, this will not execute much faster than rebuilding the index,
  1680.   but it is useful for finding certain problems.  If an error is found,
  1681.   a description is displayed and testing is aborted.
  1682. #700#
  1683.   Config - Printer options are:
  1684.  
  1685.    U  Select a printer by pressing U and specifying a predefined printer
  1686.       type.  This must be done before you can customize a printer driver.
  1687.       This first step sets up the basic printer defaults.
  1688.  
  1689.    M  Modify a predefined printer type.  This allows you to customize the
  1690.       printer driver for things such as initialization string, user defined
  1691.       functions, etc.  You should first choose a basic printer type with the
  1692.       U option.
  1693.  
  1694.    C  Change the default printer and user defined function names.
  1695.  
  1696.    S  Show the configured printer defaults. This screen will display a number
  1697.       on the left side to number each string.  These numbers correspond to
  1698.       the numbers in the "Modify predefined printer type" section.
  1699.    
  1700.    L  Select printer port number, LPT1 through LPT4.
  1701.  
  1702.   EZ-Forms DataBase will support almost any printer on the market.  Some of
  1703.   the printers, such as the Epson, are so numerous that we have taken the
  1704.   time to customize EZ-Forms DataBase to provide many print options.
  1705. #701#
  1706.  
  1707.   Look for your printer in this list and choose it.  The list is in
  1708.   alphabetical order by manufacturer name.  If you cannot find your specific
  1709.   printer, try one that may be similar to it.  Please notify us if your
  1710.   printer is not listed, and you have found a driver that works properly with
  1711.   it, so that we can provide it in our printer list for future releases.
  1712.   Some printers in the list are followed by mode or emulation
  1713.   information, such as Epson or LaserJet.  If yours does, make sure your
  1714.   printer is setup in this mode.
  1715.  
  1716.   The left column of the printer list is a type code, which identifies
  1717.   which printer driver EZFDB is to use.  If your printer is not in the
  1718.   list, or does not work properly, here is a description of each driver.
  1719.   After reading this, you may be able to choose a driver that is more
  1720.   suitable.  All of these drivers are available at the end of the printer
  1721.   list.
  1722.  
  1723.   A. Plain generic dot matrix  This type should work with ANY printer.
  1724.      Plain dot matrix/daisywheel.  Only standard ASCII (like 1,2,Z,-, etc.)
  1725.      are sent to this printer.  No control codes.  ALL character graphics
  1726.      symbols are translated to a standard symbol like -, |,  and +.
  1727. #702#
  1728.  
  1729.   B. IBM Extended ASCII No ESC Sequences
  1730.      IBM Graphics printer compatible codes (ASCII codes above 127 like ┌ ┼ ┐
  1731.      etc).  EZ-Forms DataBase sends the same character graphics symbols as
  1732.      you see on the screen to the printer.  NO escape sequences are used,
  1733.      therefore no special print attributes are supported.
  1734.   C. IBM ASCII with ESC Sequences
  1735.      Same as above, but uses IBM Proprinter escape sequences to provide some
  1736.      of the special print attributes.
  1737.   D. HP LaserJet Font Cartridge Y
  1738.      This driver requires the Y font cartridge (or any other cartridge with
  1739.      the IBM character set) to be inserted into the printer.
  1740.   E. HP LaserJet with Optional Soft Fonts
  1741.      This is for use with the EZX optional HP LaserJet Fonts and Graphics
  1742.      Support Pack (HPLJFGSP).  It can be used to display up to 10 different
  1743.      fonts and 15 different graphic images, with unlimited repetition
  1744.      throughout the form.  Any printer that supports PCL 4 or higher, and
  1745.      has at least 1MB of internal memory can be used.  Printers with less
  1746.      memory can can still work, but total number of fonts and graphic images
  1747.      will be limited.  The HPLJFGSP also works in conjunction with the
  1748.      Printer - Preload command, to speed up printing by loading all fonts,
  1749. #703#
  1750.  
  1751.      graphic images and the form only one time.  Subsequent printing only
  1752.      sends the filled-in portions of the form.
  1753.   F. HP LaserJet with HPGraph
  1754.      For older LaserJets without a Y font cartridge or the IBM character set,
  1755.      such as the LaserJet II series, this driver can be used.  It requires
  1756.      the HPGraph program to be loaded prior to running EZFDB.  The font
  1757.      is fixed to portrait, at 10cpi (80 col, 66 lines).
  1758.   G. Okidata Plus Series (Utility mode)
  1759.      For older Okidata printers without Epson compatibility, this driver
  1760.      will print the graphics and attributes on your forms.
  1761.   H. HP LaserJet with Basic Soft Fonts
  1762.      As an alternative to the type F driver, this driver can print
  1763.      compressed and landscape forms.  Refer to HPLJFNTS.EXE for more info.
  1764.   I. HP LaserJet/DeskJet with PC-8 Symbol Set
  1765.      This driver is the simplest and quickest LaserJet driver to use, but
  1766.      requires that the printer support the IBM character set, PC-8.  Of
  1767.      course, these printers can also use drivers E or K, with the HPLJFGSP.
  1768.   J. HP LaserJet/DeskJet with PC-8 and Macros
  1769.      Same as driver type I, except can also print graphic images via HP
  1770.      print macros.
  1771. #704#
  1772.  
  1773.   K. HP LaserJet with Optional Soft Fonts and PC-8
  1774.      Same as driver type E, except uses the PC-8 font for the default font,
  1775.      font 0, instead of the HPLJFGSP font 0.
  1776.   1. Epson 9 pin dot matrix
  1777.      Uses Epson escape sequences for print attributes and to generate high
  1778.      quality graphics.
  1779.   2. HP ThinkJet (Epson mode)
  1780.      Similar to driver type 1, but uses different resolution for graphics,
  1781.      as required.
  1782.   3. Epson LQ 24 pin SW selected font
  1783.      Same as driver type 1, but for 24 pin printers.  Also selects the
  1784.      basic draft font.  To use the front panel or switches to select any
  1785.      other font, use driver type 4.
  1786.   4. Epson LQ 24 pin HW selected font
  1787.      Same as above, but uses default font.
  1788.   L2. HP LaserJet/DeskJet Series
  1789.       This is a family of drivers.  When selected, it shows a list which
  1790.       allows a choice of driver types I, J, H, E, K, F or D.  Refer to the
  1791.       above descriptions for further information.
  1792. #705#
  1793.  
  1794.   PS. Postscript with PSFX
  1795.       This is for any Postscript printer.  PSFX is a TSR program that
  1796.       converts Epson 9 pin codes into Postscript.  PSFX must be loaded prior
  1797.       to running EZFDB.  Refer to PSFX-DOC.EXE for further information.
  1798.       Driver type 1 is used.  Superscript and subscript are not supported.
  1799. #706#
  1800.  
  1801.   The printer control codes are broken into five basic groups.
  1802.  
  1803.   1. Codes 1-8: Printer initialization/exit, form initialization/exit, and
  1804.                 and the 6 lines per inch (6 lpi) and 10 characters per inch
  1805.                 (10 cpi) codes.  The drawing below shows you how they are
  1806.                 used.
  1807.  
  1808.                 ╒═════ Printer Initialization
  1809.                 │ ╒═══ Form Initialization
  1810.                 │ │ ╒═ Print one line
  1811.                 │ │ │    -- Send text quality codes to printer (see 19 & 20)
  1812.                 │ │ │    -- If 6 lpi use 6 lpi codes else use 8 lpi codes
  1813.                 │ │ │    -- If 10 cpi use 10 cpi codes else use 17 cpi codes
  1814.                 │ │ ╘═ End printing line and loop back to print another line
  1815.                 │ ╘═══ Form Exit
  1816.                 ╘═════ Printer Exit
  1817.  
  1818.   2. Codes 9-16: User defined character attributes.  These codes are used
  1819.                  for EZ-Forms character attribute functions.
  1820. #707#
  1821.  
  1822.   3. Codes 19-20: Selects either high quality or draft quality text.
  1823.   4. Codes 21-68: Character graphics symbols. If you are using a text driver
  1824.                   this string will be sent to the printer to print the
  1825.                   the character shown.  On some printers you can get them
  1826.                   to print character graphics symbols but they aren't in the
  1827.                   same order as the IBM Extended ASCII Symbols.  These codes
  1828.                   allow you to translate the order to match your printer.
  1829.                   Also, you can configure an escape sequence for each one of
  1830.                   these symbols to get your printer into graphics, draw the
  1831.                   character,  then return to normal text mode.  These
  1832.                   translate strings offer you a means to really customize
  1833.                   EZ-Forms DataBase.  These codes do not affect the graphics
  1834.                   drivers.  In the bit-image graphics drivers, a graphics
  1835.                   escape sequence is used to draw the entire line at one
  1836.                   time instead of using these translate strings.
  1837. #708#
  1838.  
  1839.   5. Codes 69-98: Greek characters.  These are user defined commands to
  1840.                   direct the printer to do something.  They are defaulted to
  1841.                   spaces to maintain correct form spacing.  Add any printer
  1842.                   commands you want for these special characters. The first
  1843.                   time EZFDB encounters the symbol in a form it will send the
  1844.                   the On sequence.  The second time it will  send the Off
  1845.                   sequence (they toggle states each time used).
  1846.                   NOTE: Printer driver types E, J and K use Greek characters
  1847.                   for graphic image placement.  In these cases, the Greek
  1848.                   character printer codes are not replaceable.
  1849. #709#
  1850.  
  1851.   EZ-Forms DataBase allows you to customize the "translate strings" it uses
  1852.   to work with your printer.  These printer command strings consist of up to
  1853.   18 (24 decimal) characters to be sent to the printer plus a length
  1854.   character you use to tell EZ-Forms DataBase how many of the characters to
  1855.   send.
  1856.  
  1857.   All codes are displayed in hex (base 16).  If you are changing codes in
  1858.   this area, you probably are already used to working in hex.  If not, then
  1859.   most computer books provide a quick tutorial on working with hex and may
  1860.   even provide a conversion table between decimal and hex.
  1861.  
  1862.   Please be careful when modifying these codes.   You can easily enter
  1863.   codes that have your printer doing all sorts of strange things.
  1864. #710#
  1865.  
  1866.   This menu gives you complete control over the way you print a form. It
  1867.   also places a lot of responsibility on you to know how your printer
  1868.   works.  In particular, you need to know how wide the form is and whether it
  1869.   will fit on the width of paper in your printer.  Most Epson series
  1870.   printers can only print 80 characters per line normally or 132 characters
  1871.   per line using compressed print.  This is the type of information you will
  1872.   need to refer to your printer manual for or see a PC Guru in your area.
  1873.  
  1874.   Warnings:
  1875.   ═════════
  1876.   Epson series printers can't print both compressed and bold at the same
  1877.   time.  Because of this conflict, EZFDB disables bold when printing a
  1878.   compressed form.
  1879. #715#
  1880.   High level problem description:
  1881.  
  1882.   EZFDB has sensed an error while trying to initialize your printer.  The
  1883.   perceived error may or may not be real.  The most common problem here is
  1884.   forgetting to turn on the printer.   The second most common
  1885.   problem is that the printer is off-line.  If you are fairly sure that
  1886.   everything is all right with your printer, then tell EZFDB to NOT abandon
  1887.   printing (Ignore) and to try printing anyway.  If there really is an
  1888.   error/problem in your system, then it may lock up when you print anyway!
  1889.  
  1890.   Technical problem description:
  1891.  
  1892.   Interupt 24 (Abort, Retry, Ignore) checking has been vectored thru the
  1893.   EZFDB code disabling that message.  The result of an interrupt call
  1894.   indicates that there is a serious printer problem in your system.  You will
  1895.   no longer have the option to abort thru the Int 24 handler.  If you choose
  1896.   to proceed  with printing, ALL further error messages will be disabled.
  1897.   This will cause one of three things to happen.  One - if there is no
  1898.   problem, then printing will work as normal.  Two - you may be able to
  1899.   "print thru" the error with EZFDB continually ignoring the errors (nothing
  1900.   to the printer).  Three - your system locks up forever, there really is
  1901.   a serious problem!
  1902. #717#
  1903.  
  1904.   Did you press one of the keyboard keys?  That is the signal to EZ-Forms
  1905.   DataBase that you would like to abandon printing.
  1906.  
  1907.   If you pressed a key by accident and would like to continue printing, tell
  1908.   EZ-Forms DataBase, N for no, you don't want to abandon printing.
  1909.   Otherwise, press Y for yes to abandon printing.
  1910. #720#
  1911.  
  1912.   The "Status" on the left reflects the selected options for printing. These
  1913.   options can be changed by pressing the key shown under "Select" heading.
  1914.  
  1915.   Some combinations of the options are not valid.  That is why some of the
  1916.   selected options under "Status" switch their condition.  For example,
  1917.   when you press 8 for 8 lines per vertical inch - the 6 will be deleted
  1918.   from the "Status" area.  You can't have both 6 and 8 lines per inch
  1919.   selected at the same time.
  1920.  
  1921.   Many printers do not support the full range of options shown.  A summary 
  1922.   of printer capability by driver type is shown below.
  1923.  
  1924.   Driver Types           Options NOT Supported
  1925.   ════════════════════════════════════════════
  1926.   A, B . . . . . . . . . . 6, 8, S, V, F, U
  1927.   F. . . . . . . . . . . . S, V, F, U
  1928.   E, I, J, K . . . . . . . U
  1929.   C, D, G, 1, 2, 3, 4. . . F, U
  1930.   H  . . . . . . . . . . . 6, 8, S, V, F
  1931.  
  1932.   NOTE: Not all 24 pin printers support the Double Tall attribute.
  1933. #721#
  1934.  
  1935.   To change the default printer type, use the Config command of
  1936.   EZ-Forms DataBase located in the main menu.  Don't forget to tell
  1937.   EZ-Forms DataBase to retain the new printer type.
  1938.  
  1939.   Filling out Pre-printed Forms
  1940.   ═════════════════════════════
  1941.  
  1942.   EZ-Forms DataBase has a Clear Forms Overlay selection on this menu, which
  1943.   allows you to easily use most preprinted forms.  To use this feature,
  1944.   first create a form to act as the template.  Make sure that all the
  1945.   fields match or align with those on your preprinted form.  When you go to
  1946.   print, select C for Clear Forms Overlay.  This will ensure only the
  1947.   unprotected area (the form fields) will be printed.  The form outline is
  1948.   not printed.
  1949. #725#
  1950.  
  1951.   Orientation ONLY applies to HP LaserJet drivers type E, I, J and K.
  1952.  
  1953.   EZ-Forms DataBase allows you to print your form in the landscape (sideways)
  1954.   orientation if you are using an HP LaserJet with one of the LaserJet
  1955.   drivers.  For driver types E and K, EZFDB will download the landscape fonts
  1956.   (they have a .sfl extension) and use them for printing.  Please ensure the
  1957.   landscape fonts are in your default directory.
  1958.  
  1959.   You must also have a landscape version of your print macros.  The print
  1960.   macros have an L or P as the last letter of the macro name to denote the
  1961.   orientation in which they were created, and when EZFDB should use them.
  1962.  
  1963.   Examples: macro01p.hpm (portrait) and macro01l.hpm (landscape)
  1964.  
  1965.   When using printer driver type H, the orientation will automatically match
  1966.   the orientation of the font that is downloaded.
  1967. #730#
  1968.  
  1969.   You  are being asked to input in HEX, the byte you would like to enter  at
  1970.   this location.   Don't forget the length byte has to contain the number of
  1971.   characters you want to send to the printer.  The length byte doesn't count
  1972.   against the total so the maximum is 18 (24 in decimal).
  1973.  
  1974.   These codes are sent to the printer during printing.
  1975. #735#
  1976.  
  1977.   EZ-Forms DataBase allows you to download custom fonts to your printer
  1978.   before printing a form.
  1979.  
  1980.   Steps in the process:
  1981.   ═════════════════════
  1982.   1. You select any font other than 0.  For example, Font 1.
  1983.   2. Tell EZFDB to print.
  1984.   3. EZFDB will run a DOS shell to execute FONT1.BAT (place the commands
  1985.      for downloading your font in FONT1.BAT).
  1986.   4. For landscape printing, specify a landscape font.
  1987.   5. After FONT1.BAT executes, normal printing of your form will take place.
  1988.  
  1989.   The batch file's name is built up of 'FONT' plus the 'font number you
  1990.   select' with Print Setup option U, plus '.BAT'.
  1991.  
  1992.   Example:  You select font 27, then EZFDB will execute FONT27.BAT before
  1993.             printing your form.
  1994. #740#
  1995.  
  1996.   This option refers to the actual number of lines on the paper in your
  1997.   printer.  Normally a 8 1/2 by 11 inch sheet of paper using 6 lines per inch
  1998.   contains 66 lines (6x11=66) or 88 lines using 8 lines per inch (8x11=88).
  1999.  
  2000.   EZ-Forms DataBase will print blank lines at the end of your form to advance
  2001.   the paper to the top of the next page.  Examples:
  2002.  
  2003.   Form length       L setting        Additional line feeds
  2004.   ═══════════       ═════════        ═════════════════════
  2005.       64               66                     2
  2006.       80               80                     0
  2007.  
  2008.   Formula for additional line feeds (ALF):   ALF = Form length - L setting.
  2009.   If ALF is 0 or negative, no additional line feeds will be printed.
  2010.  
  2011.   A few printers may require "tweeking" of these numbers to compensate for
  2012.   nonstandard paper or unusual print size.
  2013.  
  2014.   The default minimum lines per page setting is the length of your form.
  2015.   The maximum is set to the maximum lines supported by EZFDB (999 lines max).
  2016. #745#
  2017.  
  2018.   EZ-Forms DataBase allows you to print more than one copy at a time.  Enter
  2019.   the number of copies desired at the prompt.
  2020.  
  2021.   Please ensure you have the "lines per page" option set for the correct
  2022.   value to advance your printer after printing a form to the top of the next
  2023.   page.  The default value will work for most printers.  A few printers may
  2024.   require the number of lines under "lines per page" option to be modified.
  2025.  
  2026.   You may abandon the printing of multiple copies just like a single copy.
  2027.   By pressing a key on your keyboard you can signal EZFDB to give you
  2028.   this option.  If selected, all further copies will be abandoned.
  2029.  
  2030.   EZ-Forms allows you to store the print attributes into a form.  During
  2031.   printing, these attributes are used.  The attributes include: the number
  2032.   of copies, whether to compress the printed form, etc.
  2033. #770#
  2034.  
  2035.   EZ-Forms DataBase allows you to customize the name of the printer and user
  2036.   defined print functions/attributes.  When you choose a basic printer type
  2037.   (under Use Predefined), EZFDB loads a generic set of text labels.  As you
  2038.   customize the printer driver, you should modify these names to document
  2039.   the changes.  Example: If you customize user function 4 to switch your
  2040.   printer into double high, then install the user function 4 name to say
  2041.   "Double High Character".
  2042.  
  2043.   Use the modify printer driver option to modify the command codes sent to
  2044.   your printer when a user defined function is attached to a character.
  2045. #775#
  2046.  
  2047.   This  very  confusing  screen  shows you the codes contained  in  the  user
  2048.   configurable printer command strings.   These strings control many  of  the
  2049.   operations during printing.  See the modify option on the printer selection
  2050.   menu for a breakdown of what each command string does.
  2051.  
  2052.   The format for the information is:
  2053.  
  2054.   Location:      1                         2          3-26
  2055.   What it is:    [Command string number]   [length]   [printer commands]
  2056.   Number base:    (in decimal)              (in hex)   (in hex)
  2057.  
  2058.   The first byte of the command tells EZ-Forms DataBase how many of the
  2059.   possible 24 bytes to send to the printer.
  2060.  
  2061.   Hex (base 16) was chosen for the commands to reduce the display space  and
  2062.   to allow more commands per string  (example: 255 is hex FF).
  2063. #800#
  2064.  
  2065.   Print - Multiple will print all records that match the given selection
  2066.   criteria, using the current form.  The first dialog box is very similar
  2067.   to the Query command's.
  2068.  
  2069.   For each matching record, the form is filled out and printed.  The next
  2070.   form will be printed immediately after the previous one.
  2071.  
  2072.   If you answer 'Y' to the 'Break form across page?' question, a form that
  2073.   appears at the end of a page may have its last part printed on the
  2074.   beginning of the next page.  A 'N' answer will cause the form to be
  2075.   printed on the new page if all of it can't fit in the remainder of the
  2076.   current page.  If the form itself is larger than a page, it will be broken
  2077.   across a page boundary, but each form will start on a new page.
  2078.  
  2079.   When a Window field or a Memo field is printed, only the first part of its
  2080.   data will appear on the form.
  2081. #810#
  2082.  
  2083.   Print - Single will print the current record, and then move the paper in
  2084.   the printer to the top of a new page.
  2085.  
  2086.   Be sure to have your printer aligned to the top of the first page before
  2087.   printing.
  2088. #820#
  2089.  
  2090.   Print - Labels will print all records that match the given selection
  2091.   criteria, using an alternate form.  This command differs from Print -
  2092.   Multiple by being able to print forms 1, 2, or 3, etc. accross, and remove
  2093.   multiple blanks between fields (auto label spacing) and lines.  This allows
  2094.   use of 2x, 3x, or 4x, etc. labels and laser printer label sheets.  With
  2095.   label spacing, labels look more natural.
  2096.  
  2097.   Label Spacing
  2098.   ═════════════
  2099.  
  2100.   The width of fields on a form are fixed, but sometimes the data within
  2101.   them is not.  This can lead to an unnatural-looking label.  For example,
  2102.   consider 2 fields on the same line, for first and last name, each 20
  2103.   characters wide.  Without label printing, the label would look like:
  2104.  
  2105.   DAWN                DAVIS
  2106.  
  2107.   12212 Pasadena Ct.
  2108.  
  2109.   Pasadena,           CA 99999
  2110. #821#
  2111.  
  2112.   A label looks more natural with automatic label spacing and blank line
  2113.   removal, thereby bringing all information close together, like:
  2114.  
  2115.   DAWN DAVIS
  2116.   12212 Pasadena Ct.
  2117.   Pasadena, CA 99999
  2118.  
  2119.   With label spacing, both protected (~) and non-protected extra blank spaces
  2120.   are considered blank and are candidates for removal.  Automatic Label
  2121.   Spacing only makes sense when the start of a field is not significant.  To
  2122.   prevent a field from being moved, simply place a non-blank, protected
  2123.   character in front of it, in the form.  To prevent a blank line from being
  2124.   moved, simply place a non-blank, protected character on that line, in the
  2125.   the form.
  2126.  
  2127.   After printing, the current form is automatically reloaded.
  2128.  
  2129.   Be sure to have your printer aligned to the top of the first label before
  2130.   printing.
  2131. #822#
  2132.  
  2133.   Limitations on Label Size
  2134.   ═════════════════════════
  2135.  
  2136.   For processing while printing labels, EZ-Forms DataBase utilizes unused
  2137.   portions of the maximum form area.  The size of this maximum form area is
  2138.   defined by the maximum form row and column numbers in the Config - Memory
  2139.   dialog box.  This imposes some limitations on the size of a label and how
  2140.   many can be printed across.
  2141.  
  2142.   ∙ The maximum number of labels that can be printed across, is equal to
  2143.     the maximum form width divided by the current form width.  For a
  2144.     typical label of 40 columns in width, a maximum form width of 132
  2145.     columns will allow for printing 3 labels accross.
  2146.  
  2147.   ∙ A label form can be no taller (number of rows) than half the maximum
  2148.     form area height.  This is rarely a problem, and only becomes a
  2149.     consideration when the label has more than 66 rows.
  2150.  
  2151.   For example, when the form area is set to 248 columns by 132 lines, a 40
  2152.   column by 6 line label can be printed up to 6 across.
  2153. #830#
  2154.  
  2155.   Print - Alternate will print all records that match the given selection
  2156.   criteria, using an alternate form.  First select the alternate form, then
  2157.   enter the selection criteria.  After printing, the current form is
  2158.   automatically reloaded.
  2159.  
  2160.   For each matching record, the form is filled out and printed.  The next
  2161.   form will be printed immediately after the previous one.
  2162.  
  2163.   If you answer 'Y' to the 'Break form across page?' question, a form that
  2164.   appears at the end of a page may have its last part printed on the
  2165.   beginning of the next page.  A 'N' answer will cause the form to be
  2166.   printed on the new page if all of it can't fit in the remainder of the
  2167.   current page.  If the form itself is larger than a page, it will be broken
  2168.   across a page boundary, but each form will start on a new page.
  2169.  
  2170.   When a Window field or a Memo field is printed, only the first part of its
  2171.   data will appear on the form.
  2172. #840#
  2173.  
  2174.   A report is a detailed listing of some or all of a database.  Sometimes
  2175.   this can be accomplished by printing the main form for each record with
  2176.   Print-Multiple, or an alternate form with Print-Alternate, or an alternate
  2177.   form used as a label with Print-Labels.  To print page titles, page
  2178.   headers, column titles, etc., a report is used.  Similar to labels, an
  2179.   alternate form called a "report form" defines the report layout.  Before
  2180.   creating a new report, you must first create a new form to be used as the
  2181.   report form.  If you have not done so already, exit this command and run
  2182.   Form-New to create a report form first.
  2183.  
  2184.   ∙ A report form is usually the size of a page, and contains a page header,
  2185.     detail and footer to use for the report.  It is very similar to any other
  2186.     alternate form, but the fields on the form must group together to form a
  2187.     detail section, which is then repeated throughout the form.
  2188.  
  2189.   ∙ The detail section is assumed to start on the first line that contains a
  2190.     field, and to end on the last line that contains a field.  Blank lines
  2191.     can be added between detail instances.
  2192.  
  2193.   ∙ The portion of the report form above the detail section is the page
  2194.     header.
  2195. #841#
  2196.  
  2197.   ∙ The non-blank (protected) portion of the form below the detail section is
  2198.     the page footer.
  2199.  
  2200.   ∙ Any one of the indexes created for this database can be used to control
  2201.     record ordering.
  2202.  
  2203.   ∙ A selection criteria expression can select which records to print.
  2204.  
  2205.   ∙ All of the above information is stored into a report file, which has a
  2206.     .rpt extension.  The next time you print a report, you simply select this
  2207.     report file.
  2208.  
  2209.   The following diagram represents a general report form, divided into all
  2210.   possible sections.  Header and footer are optional.
  2211. #842#
  2212.  
  2213.   ┌─────────────────┐
  2214.   │     Header      ├─── Can contain text, graphics, or even be empty.
  2215.   ├─────────────────┤    NO FIELDS.
  2216.   │     Detail      ├─── Must contain at least one field. Can also contain
  2217.   ├─────────────────┤    text, graphics, blank lines, etc.
  2218.   │     Detail      │
  2219.   │    repeated     ├─── This area must be completely filled with protected
  2220.   │      here       │    blanks (tildes, ~).  It must be large enough to hold
  2221.   │                 │    at least one more detail section.
  2222.   ├─────────────────┤
  2223.   │     Footer      ├─── Similar to header. NO FIELDS.
  2224.   └─────────────────┘
  2225.  
  2226.   To print page number, date and time, a series of repeating characters is
  2227.   placed into the header or footer at the desired position.
  2228.  
  2229.   PPP      - page number  (3 char sequence minimum, maximum 10)
  2230.   DDDDDDDD - current date (8 char sequence required)
  2231.   TTTTTTTT - current time (8 char sequence required)
  2232. #843#
  2233.  
  2234.   EZ-Forms DataBase will recognize any of the above sequences, and replace it
  2235.   with the appropriate information at report printing time.  For page number,
  2236.   a minimum of 3 characters in a row is required, with no intervening
  2237.   characters.  Date and time require 8 characters in a row.  Date and time
  2238.   can occur more than once, and will be the same throughout the report.  Page
  2239.   number can only occur once.
  2240.  
  2241.   To define a new report, first create a report form using the above
  2242.   guidelines.  Then select the Print-Report command, which also allows you to
  2243.   edit and/or print an existing report.  EZFDB guides you through report
  2244.   creation, editing and printing.  The end result is simply the report form,
  2245.   with as many records as can be printed in the detail areas.
  2246.  
  2247.   EZFDB comes with an example report called CITIES.RPT.  This is a report of
  2248.   US cities, listed alphabetically by name, using data from the CITIES
  2249.   database.  The report form is CITIESRP.FRM.  To help clarify the above
  2250.   concepts, first open the CITIES database, then open CITIESRP.FRM as an
  2251.   alternate form, without closing the database.  Now view the records via
  2252.   this report form to get a feel for what a report form should look like.
  2253.   Then re-open the original CITIES form, and print the CITIES report.
  2254. #850#
  2255.  
  2256.   Print - Fields will print a report of all the field definitions for the
  2257.   current database.  Only simple ASCII characters are sent to the printer.
  2258.  
  2259.   The report can serve as documentation of your database structure.  It can
  2260.   also be a reference for when you are modifying the form, creating an
  2261.   alternate form, or rebuilding the database.
  2262. #860#
  2263.  
  2264.   Print - Preload is only available when you have the optional EZX HP
  2265.   LaserJet Fonts and Graphics Support Pack (HPLJFGSP) loaded, and you are
  2266.   using a LaserJet compatible printer with printer driver type E or K, and
  2267.   your printer has enough memory.
  2268.  
  2269.   Normally, when printing 1 or more forms, the soft fonts and graphic images
  2270.   are sent to the printer, followed by the form and the filled-in fields.
  2271.   Whenever you print a relatively small number of forms at a time, you must
  2272.   wait for all of this to be sent to your printer, each time you print.
  2273.  
  2274.   Print - Preload will send the soft fonts, graphic images and form to your
  2275.   LaserJet printer, and set it all up as an Automatic Overly Macro.  This
  2276.   means that whenever you print a form, none of this has to be re-sent.
  2277.   Only the information in the filled-in fields has to be sent to the printer.
  2278.   This can tremendously speed up the printing of even complex forms.
  2279. #861#
  2280.  
  2281.   NOTES:
  2282.  
  2283.   1) When the form length is greater than the page length, i.e., the form
  2284.      is comprised of multiple pages, then the form is not sent during
  2285.      preload, but sent during every print.  This is because a LaserJet
  2286.      Automatic Background Macro is limited to 1 page in size.
  2287.  
  2288.   2) When running Preload on a form and then starting printing with an
  2289.      alternate form, EZFDB will ask if the printer should be unloaded.
  2290.      Usually the answer to this question is yes, but if the alternate form is
  2291.      identical, you could say no.  This prevents the original form from being
  2292.      printed on top of your alternate one, if its different.  Also, run
  2293.      Print - Preload again after loading a new database or form.
  2294. #870#
  2295.  
  2296.   Print - Unload is only available when you have the optional EZX HP
  2297.   LaserJet Fonts and Graphics Support Pack (HPLJFGSP) loaded, and you are
  2298.   using a LaserJet compatible printer with printer driver type E or K, and
  2299.   your printer has enough memory.
  2300.  
  2301.   This command simply sends a reset to the printer, which unloads anything
  2302.   that was previously loaded with Print - Preload.  See Print - Preload for
  2303.   complete details.
  2304. #900#
  2305.  
  2306.   Macros allow you to record a keystroke sequence for later playback.
  2307.   EZ-Forms DataBase maintains a general buffer to record your keystrokes.
  2308.   Once you have recorded a keystroke sequence, you can write it to a disk
  2309.   file for later playback.  Over 100 macro keys are supported.  The shifted
  2310.   function keys 1 thru 10 are  supported directly  (just press one of them).
  2311.   The other macros are available by  pressing Control O then the second key.
  2312.   Be sure to take advantage of the descriptive text label for your macro
  2313.   when you write it to disk.
  2314.  
  2315.   Use Ctrl Q to flush the keyboard buffer if your macro gets out of control.
  2316.  
  2317.   Macros can contain virtually any keystroke that you can enter from the
  2318.   keyboard.  Here are some suggestions to make using macros easier.
  2319.  
  2320.   1.  If you start a macro from the main menu, use the numeric keypad Home
  2321.       key to reset the menu to a known starting position.
  2322.  
  2323.   2.  Be aware of the keystroke limit.  As you enter each keystroke you will
  2324.       see a small box in the center of your screen that shows which keystroke
  2325.       you are entering and the maximum allowable keystrokes.
  2326. #901#
  2327.  
  2328.   3.  You can execute a keyboard macro at any point.  However, the macro
  2329.       attached to  Shift+F10 will automatically execute  when you start
  2330.       running EZ-Forms DataBase, or when you load a new macro file.
  2331.  
  2332.  
  2333.   Once you have recorded a macro, write it to disk.  This allows you to
  2334.   select the macro's key and give it a description.  This will be written to
  2335.   your current macro file.  You can choose any macro file name.  This allows
  2336.   you to have multiple sets of macros defined.  At startup, EZ-Forms DataBase
  2337.   will automatically load the macro file EZFDB.MAC if it exists on the
  2338.   default drive and directory.  You will probably want your most useful set
  2339.   of macros as the default.  To specify a name other than EZFDB.MAC for the
  2340.   macros at program startup, use the command line 'EZFDB /m=macrofile'.
  2341.  
  2342.   Hint:  Macros emulate you at the keyboard.  As you record a macro, try to
  2343.          start at a known position and enter the keystrokes just as you
  2344.          would like the macro to be played back.  Don't try to design a macro
  2345.          in one area of the program and play it back in another area. It may
  2346.          work but the macro will be harder to visualize and enter.
  2347. #910#
  2348.  
  2349.   EZ-Forms DataBase allows the default macro file name to be changed from
  2350.   within the program.  Normally the name EZFDB.MAC is used.  To tell EZFDB
  2351.   to default to another macro file at program load time, use the command
  2352.   line:  EZFDB /m=MyMacros.MAC
  2353.  
  2354.   You are being asked for the name of the macro file to load.  You may have
  2355.   several macro files saved under different names.
  2356.  
  2357.   Make sure that the macro file you are asking EZFDB to use is really an
  2358.   EZ-Forms DataBase macro file!
  2359.  
  2360.   Remember you can always press ESC if you got into this area by accident.
  2361. #920#
  2362.  
  2363.   Sorting large macro files may take a while.  We have gone to great lengths
  2364.   to minimize the requirement for additional disk space during the sorting
  2365.   process.  The macro file can be over 200K in size.  Creating and managing
  2366.   backup files would require a lot of extra program code and disk space.  We
  2367.   have opted for a disk based sort that sorts the macro file without
  2368.   creating a backup.  If you would like an unsorted backup, copy the macro
  2369.   file to another name prior to sorting it.
  2370.  
  2371.   The sorting may take a while for a large macro file.  Please be patient.
  2372. #930#
  2373.  
  2374.   Each of the over 100 macros can have a descriptive text label.  This
  2375.   description serves as a reminder of its function.  As you create macros,
  2376.   use a long description of the macro's function.  You will find the
  2377.   description extremely important both to yourself and to other people who
  2378.   also use the macros you create.
  2379.  
  2380.   The macro file is built as you define the macros.  This ensures the macro
  2381.   file is as small as possible, but the macros may be out of order.  Use the
  2382.   Change Macro Order option to sort the macros back into key order.  The
  2383.   maximum file size with all macros defined is over 200K (102 macros with
  2384.   each having 1000 keystrokes of two bytes each - 102*1000*2 plus overhead).
  2385.  
  2386.   We have defined S+F10 to be the "Autostart" keyboard macro since it will
  2387.   be automatically executed when you run EZ-Forms DataBase.
  2388. #960#
  2389.  
  2390.   EZ-Forms DataBase allows you to write the defined macros to disk for later
  2391.   use.  If you would like for your macros to automatically load, then use
  2392.   the default name EZFDB.MAC, or use the '/m' command line switch.
  2393.  
  2394.   EZ-Forms DataBase is asking you for two pieces of information before it
  2395.   saves your macros to disk.  The first is which key you want to use to
  2396.   call up the macro at a future time.   The second piece of information is
  2397.   the textual label or comment that will be shown when you ask to see all
  2398.   the recorded macros.  This piece of information is optional, but its use is
  2399.   strongly recommended, since at a future time you may need to figure out
  2400.   what the macro is supposed to do.
  2401.  
  2402.   You may have multiple sets of macro commands defined.  Save each set under
  2403.   a different file name and use the Load Macro command to read it from disk
  2404.   or specify a  different macro file when you call up EZ-Forms DataBase.
  2405.  
  2406.   Example:  EZFDB /m=MyMacros.MAC
  2407. #970#
  2408.  
  2409.   A file error occured while trying to save your macro to a disk file.  The
  2410.   macro file grows as you add new macros to it.  If you redefine an existing
  2411.   macro, the space within the macro file is reused.
  2412.  
  2413.   When a file error occurs, it is typically due to one of the following:
  2414.  
  2415.   1.  You are out of hard disk space.
  2416.   2.  You specified an invalid filename or path for the macro file.
  2417.   3.  There is a bad area on your hard disk that can't be written to.
  2418.  
  2419.   If possible, remedy the problem and retry the operation.
  2420. #1000#
  2421.  
  2422.  EZ-Forms DataBase ran out of memory while trying to perform the requested
  2423.  operation.  Generally this will only happen if you have limited free system
  2424.  memory (RAM).  It can also happen when the form memory is very large, or
  2425.  there are too many fields in your form and/or database.
  2426.  
  2427.  For certain commands, EZFDB will ask your computer for memory to perform the
  2428.  requested operation only when you use the command.  That way, the drain on
  2429.  your system resources is kept to a minimum.  However, if you have limited
  2430.  free memory, you may see this message.
  2431.  
  2432.  Possible corrective measures:
  2433.  
  2434.  1.  Limit the number of memory resident programs you load.
  2435.  2.  Upgrade your system RAM if you have less than 640K.
  2436.  3.  Minimize form memory with the Config - Memory command.
  2437.  4.  Try to eliminate some fields, or make some fields shorter.
  2438.  5.  Exit the program, restart and then try the same operation again.
  2439. #1001#
  2440.  
  2441.   EZ-Forms DataBase could not run the external program.
  2442.  
  2443.   If swapping was selected, make sure that the SWAP.COM program is in your
  2444.   current directory or accessible via the DOS PATH variable.  There must be
  2445.   at least 5K DOS memory available just to run SWAP.  Also make sure that
  2446.   your swap drive has sufficient available space (up to 620K), unless there
  2447.   is sufficient available EMS memory and you choose to use it.  If swapping
  2448.   was not selected, make sure that sufficient memory remains to run your
  2449.   program.  To use the DOS Shell command (Ctrl X), the COMMAND.COM file must
  2450.   be accessible via the DOS PATH variable, which defaults to the root
  2451.   directory of the boot drive.
  2452.  
  2453.   If you're trying to edit a memo field, make sure that MEMO.COM or MEMO.EXE
  2454.   is in your current directory or accessible via the DOS PATH variable.
  2455.   If you want to use a batch file for your own memo editor, the file must
  2456.   be called MEMO.BAT and must reside in the current directory.
  2457.  
  2458.   If you still get this error after following the above advice, exit EZFDB
  2459.   and verify that you can run the command or batch file directly from DOS.
  2460. #1002#
  2461.  
  2462.   This warning should only occur in the multi-user (network) version of
  2463.   EZ-Forms DataBase.
  2464.  
  2465.   Another user on the network is using one or more of the same files that
  2466.   you are using.  Normally this is not a problem since EZFDB automatically
  2467.   arbitrates simultaneous file accesses via your LAN software.  However,
  2468.   there are some rare instances where temporary hang-ups can occur.
  2469. #1100#
  2470.  
  2471.   Config - Retain will save all configuration options to a file, and
  2472.   activate them.  The configuration options consist of all the options that
  2473.   can be changed via any item under the Config pulldown menu.  The file
  2474.   written here can be subsequently loaded by the Config - Install command.
  2475.   The configuration file can have any name or extension.
  2476.  
  2477.   NOTE: None of the configuration option changes will be in effect until
  2478.         the options are retained (saved to a file).
  2479.  
  2480.   Example: C:\EZFDB\EZFDB.CNF
  2481.            ╞╛╞═════╛╞═══╛ ╞═╛
  2482.            │ │      │     ╘═══ Extension (optional, but recommended)
  2483.            │ │      ╘═════════ File name
  2484.            │ ╘════════════════ Directory name
  2485.            ╘══════════════════ Drive name
  2486.  
  2487.   A file or directory name consists of up to 8 characters, and the extension
  2488.   can be up to 3 characters.  The following characters CANNOT be used in
  2489.   file or directory names: ."/\[]:|<>+=;,
  2490. #1110#
  2491.    
  2492.   This menu allows you to change all the colors used in EZFDB.  To change
  2493.   a default color - first use the up or down arrow key to select the color,
  2494.   then type in the new color.  When you have changed all the colors, press
  2495.   Ctrl D to display these colors in a sample window.  As with all
  2496.   configuration options, these changes will not be used until you choose the
  2497.   Retain option on the main menu.  This allows you to experiment with the
  2498.   configuration options without losing your original defaults.
  2499.  
  2500.   Please keep in mind the foreground text colors can be 0-15, the
  2501.   background 0-7.  If you choose a text color the same as a background color,
  2502.   then the text will disappear.  You may notice some of your installed color
  2503.   combinations result in invisible lines  on  the  Ctrl D  popup window.
  2504.   Please be careful not to choose this color for one of your text colors!!
  2505.  
  2506.   Note: For many of the EZFDB configurable options and user inputs, you will
  2507.   see a prompt containing the characters .  If you count the number
  2508.   of 's you will know the maximum number of characters that can be
  2509.   entered.  Also, Escape is used throughout EZFDB to signal "I want out".
  2510.   Press Enter, up arrow, down arrow, or whatever is asked for, to enter the
  2511.   desired value.  Escape will throw away any immediate changes and leave
  2512.   the current menu.
  2513. #1111#
  2514.  
  2515.   Please note that the background color (0-7) is one digit long and the
  2516.   foreground color (0-15) is two digits long.   That is why you will see the
  2517.   input prompt (the 's) change it's width as you go between the colors.
  2518.  
  2519. #1115#
  2520.  
  2521.   This screen shows the possible combinations of colors in EZFDB.  The
  2522.   top set (Main EZ-Forms DataBase colors) shows you what the various menus
  2523.   will look like.  The Form colors are those used to display a form.
  2524.   These colors will show you what underline, block, protected, etc.
  2525.   will look like.
  2526.  
  2527.   If you are using a non-IBM display adapter, you may have to "play" with the
  2528.   colors to get a pleasing combination.  EZFDB defaults to colors that
  2529.   work well with the IBM CGA, EGA, VGA, Monochrome boards, and boards that
  2530.   are fully compatible with these.
  2531.  
  2532.   On some monochrome display adapter  clones  you may need to alter a
  2533.   foreground text color to get the background to change intensity.
  2534.  
  2535.   The default combination of colors will work on any 100% IBM PC compatible
  2536.   display adapter!
  2537. #1120#
  2538.  
  2539.   Config - Printer
  2540. #1130#
  2541.  
  2542.   Config - Files allows you to configure some file-related options.
  2543.  
  2544.   1) Database pathname - this is what directory comes up as the default in
  2545.      any filename dialog box.
  2546.   2) Help/manual path - this is the directory that contains the EZFDB
  2547.      help/manual files, EZFDB_HM.TXT and EZFDB_HM.INX.
  2548.   3) dBASE IV Memo fields (Y/N) - this specifies whether you want the Memo
  2549.      files to be compatible with the new dBASE IV format or not.  If you
  2550.      enter N, the Memo file format will be compatible with dBASE III and
  2551.      III+ instead.  The dBASE IV format is preferred.
  2552.   4) Include descriptions when listing files (Yes/No/Ask) - database and
  2553.      form files can have descriptions (comments) associated with them.
  2554.      Whenever form or database file listings are given, any associated
  2555.      descriptions can also be shown.  Unfortunately, it takes time to read
  2556.      these descriptions from the files.  When a directory contains many
  2557.      files, depending on the speed of the system, the descriptions may take
  2558.      too long to read.  When this option is set to Yes, descriptions are
  2559.      always read and displayed.  When set to Ask, EZFDB will ask if you want
  2560.      the descriptions, just before each file listing.  This allows you to
  2561.      decide on a case by case basis.
  2562. #1140#
  2563.  
  2564.   Config - Memory is necessary because of the infamous DOS "640K barrier".
  2565.   Thoughtful setup with this menu will allow you to strike a balance between
  2566.   memory usage and execution time.  These options must be saved before they
  2567.   will take effect.
  2568.  
  2569.   1) Max Form Height
  2570.   2) Max Form Width
  2571.  
  2572.      These select the amount of memory allocated for the maximum allowable
  2573.      size form.  Adjusting the maximum height and width in this manner
  2574.      allows you some control over EZFDB's memory usage, while maintaining
  2575.      quick form access.  The minimum is 64x80.  Maximum height is 999,
  2576.      and maximum width is 254, but height times width must be <= 65535.
  2577.  
  2578.      Due to memory fragmentation, it sometimes may not be possible to
  2579.      increase the maximum form size without reloading EZFDB.
  2580.  
  2581.   SWAPPING
  2582.      There are two features of EZFDB that don't require it to be in memory
  2583.      at the time: memo field edit and shell to DOS.  For these cases, EZFDB
  2584.      can be taken out of main memory and placed into either expanded memory
  2585. #1141#
  2586.  
  2587.      (EMS) or disk.  Approximately up to 600K of space may be needed.  This
  2588.      frees up most of the memory originally taken up by EZFDB, which allows
  2589.      you to run other programs even if they require a large amount of memory.
  2590.      When the function is complete, EZFDB is then restored back into main
  2591.      memory.  To use extended memory, set it up as a RAM disk.  The remaining
  2592.      options control various aspects of EZFDB's swapping.
  2593.  
  2594.   3) Swap EZFDB out of memory before running memo editor (Y/N) - this
  2595.      controls the memory made available to the memo editor program.  If yes,
  2596.      all of EZFDB will be swapped out before the memo editor program is run.
  2597.  
  2598.   4) Swap EZFDB out of memory before running DOS shell (Y/N) - this controls
  2599.      the memory made available to the DOS shell.  If yes, all of EZFDB will
  2600.      be swapped out before the DOS shell is run.
  2601.  
  2602.   CAUTION
  2603.      DO NOT run any TSR (Terminate and Stay Resident) programs from the DOS
  2604.      shell even if swap is not used.  ALWAYS load TSR's before running EZFDB,
  2605.      then watch for potential conflicts.
  2606. #1142#
  2607.  
  2608.   5) Use Expanded Memory (EMS) for swapping (Y/N) - this controls whether
  2609.      or not to use EMS memory for swapping out EZFDB.  If yes, EZFDB will try
  2610.      to use EMS first.  If EMS isn't available, or doesn't have enough
  2611.      memory, EZFDB will be swapped to disk instead.  If no, disk is always
  2612.      used.  EMS V3.2 or newer is required.
  2613.  
  2614.   6) Swap drive - this controls which drive is used to contain the swapped
  2615.      EZFDB.  EZFDB is swapped to a temporary file called "SWAP.EZX", created
  2616.      in the current directory of this drive.  For best performance, use the
  2617.      fastest drive that contains sufficient memory (approximately 600K max).
  2618.      RAM disks can be used.
  2619. #1150#
  2620.  
  2621.   Config - Other allows you to change some miscellaneous EZ-Forms DataBase
  2622.   options.  These options must be retained (saved to a file) before they
  2623.   will take effect.
  2624.  
  2625.   1) Use deleted records (Y/N) - this controls whether delete-tagged
  2626.      records are used by the program or not.  This affects display and
  2627.      multi-record operations such as Revise - Substitute.
  2628.  
  2629.   2) Beep on error (Y/N) - this controls the beep given whenever an
  2630.      error occurs.
  2631.  
  2632.   3) Beep on record save (Y/N) - this controls the beep given whenever a
  2633.      record is saved with the F10 function key, or a multi-record operation
  2634.      (index creation, purge, substitute, etc.) finishes.
  2635.  
  2636.   4) Auto Recalc (Y/N) - this controls automatic calculation done on
  2637.      all Field Calculations, at time of record save with the F10 function
  2638.      key. When this is NO, the user must execute a specific command to
  2639.      calculate/recalculate.
  2640. #1151#
  2641.  
  2642.   5) Help level (1=least help, to 4=most help) - As you learn the program,
  2643.      you can change this to a smaller number, which will eliminate some
  2644.      helpful messages that may no longer be necessary.
  2645.  
  2646.   6) Screen blank time (in minutes, 0=never) - when your monitor displays
  2647.      text that doesn't change for long periods of time, some portions of the
  2648.      screen may be damaged by "burn-in".  To guard against this, EZFDB will
  2649.      blank the screen whenever the keyboard and mouse are not used for a
  2650.      specified period of time - the screen blank time.  A setting of 0 will
  2651.      disable the screen protection.
  2652.  
  2653.   7) User Date Format - this specifies the display and entry format for all
  2654.      Date fields, and the CTOD function.  Date fields are always stored in
  2655.      the same format, so changing the User Data Format will not affect how
  2656.      dates are stored.  The User Date Format can be any combination of non-
  2657.      alphanumeric symbols and the letters C, Y, M and D.  Any occurrence of
  2658.      one of these significant letters will be replaced by its corresponding
  2659.      date part.  During data entry, dates must match this format exactly and
  2660.      must be valid before acceptance.
  2661. #1152#
  2662.  
  2663.   For October 1, 1942, the date parts are:
  2664.  
  2665.      Letter  Description  Number                          Examples
  2666.      ═══════════════════════════                    ════════════════════
  2667.        C     Century       19                       MM/DD/YY -> 10/01/42
  2668.        Y     Year          42                       DD-MM-YY -> 01-10-42
  2669.        M     Month         10 (Oct)                 YY*MM&DD -> 42*10&01
  2670.        D     Day           01                       CCYYMMDD -> 19421001
  2671.                                                     MMM,CCYY -> Oct,1942
  2672.  
  2673.  
  2674.   10) Network: Display records even when locked (Y/N) - this controls
  2675.      record locking during display only.  Database records are locked
  2676.      before a modification is made, and unlocked after the modification is
  2677.      complete.  During the locked time, and with this option set to No, other
  2678.      users are prevented from even looking at the record.  Users that are
  2679.      locked out receive a message indicating the condition.  The only option
  2680.      is to either wait for the record to be unlocked, or to abort the current
  2681.      operation.  When this option is set to Yes, locked records can be
  2682.      displayed, but they still cannot be modified until unlocked.
  2683. #1160#
  2684.  
  2685.   Config - Install will load a configuration file and activate its contents.
  2686.   All parameters setup by the Colors, Printer, Files, Memory and Other
  2687.   commands in the Config pulldown menu can be saved into any file by using
  2688.   the Config - Retain command.  The configuration file can have any name or
  2689.   extension.
  2690.  
  2691.   Enter the file name, including the extension (.cnf recommended).  If you
  2692.   don't remember exactly what it's called, a list of files will be presented
  2693.   whenever you enter just the directory name and leave the filename blank,
  2694.   or whenever you enter a wildcard for the file name.  Directory listings
  2695.   consist of files in the current directory, then subdirectories in the
  2696.   current directory, and then valid drives.  Selecting a file will load it.
  2697.   Selecting a subdirectory will show a listing for that subdirectory.
  2698.   Selecting a drive will show a listing for the current directory on that
  2699.   drive.
  2700.  
  2701.   A file or directory name consists of up to 8 characters, plus 3 for an
  2702.   extension.  The following characters CANNOT be used in file or directory
  2703.   names: ."/\[]:|<>+=;,
  2704. #1161#
  2705.  
  2706.   Directory names are optional and if left blank, the current directory
  2707.   is assumed.  The directory name can contain a drive name, a path name or
  2708.   both.  A path name is a list of directories separated by backslash
  2709.   characters ('\'), that leads through the directory tree up to the
  2710.   directory of interest.
  2711.  
  2712.   The default file loaded at program startup is EZFDB.CNF.  To override this
  2713.   default, you can enter a different configuration file name as the second
  2714.   parameter on the command line.  Here is the effective default command line:
  2715.  
  2716.   EZFDB /M=EZFDB.MAC /C=EZFDB.CNF
  2717.  
  2718.   The '/M' switch selects the keyboard macro file, and the '/C' switch
  2719.   selects the configuration file.  The switches can be specified in any
  2720.   order, but multiple switches must be separated by at least one space.
  2721.   The file extensions must be specified.
  2722. #1170#
  2723.  
  2724.   Config - Lock will lock or unlock the form/database revise and create
  2725.   functions.  Once locked with a password, the user will not be able to
  2726.   run any form or database create/edit/revise functions.  Specifically
  2727.   these are:
  2728.  
  2729.   Database - New           Form - New           Revise - Fields
  2730.   Database - Build         Form - Setup
  2731.   Database - Xport         Form - Edit
  2732.   Database - Rename        Form - Describe
  2733.   Database - Erase
  2734.   Database - Describe
  2735.  
  2736.   Once locked, the above functions and this help screen are unavailable.
  2737.  
  2738.   Be careful!  DON'T forget your password.
  2739. #1171#
  2740.  
  2741.   Config - Lock.
  2742.  
  2743.   This function is only available to your System Administrator.
  2744.  
  2745.   Please contact him/her for any further information.
  2746. #1200#
  2747.   EZ-Forms supports virtually  the entire  IBM Extended ASCII Character Set.
  2748.   Your choice  of what character to chose for borders,  lines,  boxes,  etc.
  2749.   just  became more complex.   EZ-Forms has four basic graphic line sets  or
  2750.   palettes to choose from:
  2751.                                                                             
  2752.   1 ┌────┬────┐      2 ╒════╤════╕      3 ╓────╥────╖     4 ╔════╦════╗     
  2753.     │    │    │        │    │    │        ║    ║    ║       ║    ║    ║     
  2754.     ├────┼────┤        ╞════╪════╡        ╟────╫────╢       ╠════╬════╣     
  2755.     │    │    │        │    │    │        ║    ║    ║       ║    ║    ║     
  2756.     └────┴────┘        ╘════╧════╛        ╙────╨────╜       ╚════╩════╝     
  2757.     ░ ▒ ▓ █ ▌▐ ▀ ▄     α ß Γ π Σ σ µ τ    Φ Θ Ω δ ∞ φ ε     reserved        
  2758.                       │               │  │              │                   
  2759.                       ╘══════╤════════╛  ╘══════╤═══════╛                   
  2760.                              │                  │                           
  2761.                              ╘══════════════════╧═══ Printer commands.
  2762.  
  2763.   The above boxes show you what the boxes and lines drawn with each palette
  2764.   look like.  Below the boxes are some stand-alone characters which can  be
  2765.   entered from the keyboard.  The shaded block characters in palette 1  are
  2766.   useful in designing logos or just to emphasize a section of a form.   The
  2767.   Greek characters in palettes 2 and 3 can be used to send commands to your
  2768.   printer during printing.
  2769. #1210#
  2770.  
  2771.   Press G to start the graphics drawing. The default is N to prevent errors.
  2772.   You are now in a full screen graphics walk-around mode.   Depending on the
  2773.   mode selected (see the characters in the lower right hand and upper  right
  2774.   corner of the screen) different things will happen.  Options are:
  2775.  
  2776.      G   Graphics - A full screen walk-around mode where you use the  cursor
  2777.                     keys to draw figures.  Whatever character is needed will
  2778.                     be substituted to make the lines solid.
  2779.      N   Neutral  - You can walk around without affecting any characters.
  2780.      E   Erase    - Erase the character under where you move the cursor.
  2781.      D   Drag     - This mode  will  drag/repeat  the  character  under  the
  2782.                     cursor as you move it around.   Use N  to  position  the
  2783.                     cursor over the character to be repeated before using D.
  2784.      1-4 Palette  - Shorthand method to select the default graphics palette.
  2785.      P   Pick     - Pick a character from a table of supported characters.
  2786.  
  2787.   Press either G, N, E, D, 1-4, or P to select the function. The active mode
  2788.   is shown in the lower right corner of the screen.
  2789.   
  2790.   Note:  P is valid only in modes D or N.   In the other modes the  inserted
  2791.   character is erased or overwritten and will not remain in your form.
  2792. #1211#
  2793.  
  2794.   Set the graphics palette with Alt L.  You can choose single line graphics,
  2795.   double line graphics,  or a combination.    As a short hand  method, press
  2796.   1-4.   A  sample character based on the palette selected  will  appear  in
  2797.   upper right corner of your screen.  Esc will return you to the editor.
  2798. #1220#
  2799.  
  2800.   EZ-Forms DataBase will move the text in the marked block to the left side,
  2801.   to the right side, or center it within the block.  If you would like an
  2802.   entire section of text centered, mark the block first then call up the
  2803.   justify text command.  When a multi-line block is marked, you will be
  2804.   asked whether you would like to justify all the lines in the block.
  2805. #1230#
  2806.  
  2807.   Several of the EZ-Forms DataBase commands support Extended ASCII symbols
  2808.   not found on your keyboard.  This screen lists all supported characters
  2809.   and should make it easier for you to select them.
  2810.  
  2811.   Directions for use:
  2812.  
  2813.   Use the numeric keypad cursor keys to position the box over the desired
  2814.   character and press Enter.
  2815.  
  2816.   You can also move the box to a desired character by pressing the
  2817.   corresponding keyboard key, if any.
  2818. #1240#
  2819.  
  2820.   The block attribute erase  command  erases/subtracts  the  attributes  you
  2821.   specify  at the prompt  from each of the characters in the  marked  block.
  2822.   This is a selective erase, not a clearing of all character attributes.  So
  2823.   if something is bold (B) and underline (U),  and you specify  underline at
  2824.   the prompt, then the character will become just bold.
  2825.  
  2826.   Character meanings:
  2827.   ═══════════════════
  2828.   U  Underline
  2829.   B  Bold (HP LaserJet printer type E and K - background shading)
  2830.   1  User defined function 1.   \
  2831.   2  User defined function 2.    \  Use the Alt I command to see
  2832.   3  User defined function 3.    /  the configured names for these.
  2833.   4  User defined function 4.   /
  2834.   F  Font select for HP LaserJet using printer type E or K, and HPLJFGSP.
  2835.   P  Pick a character from all possible characters.
  2836.   ~  Remove any field markers in the marked block.
  2837.  
  2838.   The bottom line of the editor screen  shows the  character  attributes  as
  2839.   you move the cursor over a character.
  2840. #1250#
  2841.  
  2842.   The block attribute add command  adds the  attributes you specify  at  the
  2843.   prompt to each of the characters  in the marked block.   This  is  an  add
  2844.   function, NOT a replace function. If something is already bold (B) and you
  2845.   specify underline (U), then it will become bold and underline.
  2846.  
  2847.   Character meanings:
  2848.   ═══════════════════
  2849.   U  Underline
  2850.   B  Bold (HP LaserJet printer type E and K - background shading)
  2851.   1  User defined function 1.   \
  2852.   2  User defined function 2.    \  Use the Alt I command to see
  2853.   3  User defined function 3.    /  the configured names for these.
  2854.   4  User defined function 4.   /
  2855.   F  Font select for HP LaserJet using printer type E or K, and HPLJFGSP.
  2856.   P  Pick a character from all possible characters.
  2857.   ~  Add field markers to blank locations in the marked block.
  2858.  
  2859.   The bottom line of the editor screen  shows the  character  attributes  as
  2860.   you move the cursor over a character.  Please note that the operations are
  2861.   performed in the order you enter them.  If you specify ~ then p, then your
  2862.   picked character will never show up in the form because ~s will  be  added
  2863.   first and there won't be any blank areas to insert your picked character.
  2864. #1260#
  2865.  
  2866.   You can draw a box around the inside border of the marked block using this
  2867.   command.  The default line drawing character palette (use Alt L to select)
  2868.   will be used.  The inside characters all the around the marked block  will
  2869.   be replaced by the graphic lines.
  2870.  
  2871.   Boxes may be drawn in almost any size and with a variety of border styles.
  2872. #1270#
  2873.  
  2874.   Want to read a text file into an EZ-Forms form?  This command allows you
  2875.   to load text created under almost any other software program.  The only
  2876.   requirement is that the file must contain only ASCII characters.
  2877.  
  2878.   If you have a block marked, you will be given the option to load the file
  2879.   into only the marked section of your form.
  2880. #1280#
  2881.  
  2882.   This screen provides basic information on the status of the EZ-Forms
  2883.   Editor, your printer defaults, etc.
  2884.  
  2885.   Under the "Current printer related defaults" you will find the user
  2886.   function names.  If you take a close look at the bottom of the editor
  2887.   screen, you will notice a character attribute area.  When you see a 1, 2,
  2888.   3, or 4 pop up, this is what it is referring to.  The user functions are
  2889.   defined to contain specific information for each printer and can be
  2890.   customized by the user.  See the printer configuration area for more
  2891.   details.
  2892.  
  2893.   HP LaserJet specific information is listed on the next page.
  2894. #1281#
  2895.   Fonts  are  specified  for the HP LaserJet  using  printer type  'E'  thru
  2896.   combinations of user defined functions attached to  each character.  Other
  2897.   sections of the documentation give details on font naming conventions.
  2898.  
  2899.    Font    Attributes         How the font is selected
  2900.   ══════   ══════════  ══════════════════════════════════════════
  2901.   Font 0    pub....    The default, no user defined functions.
  2902.   Font 1    pub1...    Selected with Alt1.
  2903.   Font 2    pub.2..    Selected with Alt2.
  2904.   Font 3    pub..3.    Selected with Alt3.
  2905.   Font 4    pub...4    Selected with Alt4.
  2906.   Font 5    pub1..4    Selected with Alt1+4.
  2907.   Font 6    pub.2.4    Selected with Alt2+4.
  2908.   Font 7    pub..34    Selected with Alt3+4.
  2909.   Font 8    pub1.34    Selected with Alt1+3+4.
  2910.   Font 9    pub.234    Selected with Alt2+3+4.
  2911.  
  2912.   Support for mutiple fonts requires:
  2913.  
  2914.   1. An HP LaserJet Plus, HP LaserJet Series II, III, or compatible
  2915.   2. The EZX LaserJet Fonts and Graphics Support Pack ver 2.0 or greater
  2916.   3. Configuration of EZ-Forms DataBase for the HP LaserJet - driver E or K
  2917. #1290#
  2918.  
  2919.   Many of the editing commands have optional prompt messages to provide
  2920.   information and serve as a safety catch in case of mistakes.  The extent
  2921.   of the user help/interference offered by EZ-Forms is tied to the message
  2922.   level.  The more potentially harmful a command, the lower the message
  2923.   level has to be set, for the command's warning/prompt to disappear.
  2924.  
  2925.   Examples:
  2926.  
  2927.   Command                  Tied to Help/Message level
  2928.   ═══════                  ══════════════════════════
  2929.   Patch form               4 (no message 3 and below)
  2930.   Block delete             1 (no message at level 0)
  2931.   Various other commands   1-4 (level varies)
  2932.  
  2933.  
  2934.   Most of the block operations and some of the other editing commands
  2935.   provide this feature.
  2936.  
  2937.   The default (unless configured otherwise) is to provide the maximum level
  2938.   of user help messages.
  2939. #1300#
  2940.  
  2941.   EZ-Forms DataBase allows you to set up one auto number field within a form
  2942.   that will automatically increment each time the form is used to add a 
  2943.   record to a database.  Use this to generate invoice/purchase order numbers
  2944.   and control numbers.  Each added record will have a unique number.
  2945.  
  2946.   If you need a starting number other than 1, simply type it into the form at
  2947.   the auto number position you have selected.  EZ-Forms will use that
  2948.   number as the starting point.  When the form is saved, EZ-Forms will read
  2949.   the auto number location and update all its pointers to contain your new
  2950.   number.
  2951.  
  2952.   The auto number will "roll over" from all 9s to 1 when you exceed the
  2953.   maximum number for the field.
  2954.  
  2955.   Any invalid character (non-numeric) will generate an error and cause the
  2956.   auto number to reset to 1.  Example: auto number width is 5, the number
  2957.   00A01, contains an invalid character (A) - auto number is reset to 00001.
  2958. #1330#
  2959.  
  2960.  
  2961.   The clear form option allows you to start again with a clean slate.
  2962.  
  2963.   All characters, graphics and attributes are erased.
  2964. #1350#
  2965.  
  2966.   The large character lookup  allows you to easily create headings in  large
  2967.   (8 by 8)  characters.   Simply  type  in the text  and  then  select  what
  2968.   character to use for the drawing.   For other size characters, you can use
  2969.   the Notepad to move characters from the form 359-HIGH.FRM.
  2970.  
  2971.   Play  with this command in a new form to get a feel for how  it  operates.
  2972.   This command places a lot of power (and potential for destruction) in your
  2973.   hands.
  2974.  
  2975.   The  length  of  the allowable input text (shown as s)  depends  on  your
  2976.   cursor position within the form and the width of the form.   As  you  move
  2977.   the cursor to the left,  there is more space to insert text so the  prompt
  2978.   will  get  longer.   Each  of the large characters take  up  eight  normal
  2979.   character spaces in both directions.  That means an eighty column form can
  2980.   have at most ten large characters on a single line.
  2981.  
  2982.   The characters are entered into your form starting at the cursor position.
  2983.   They will be inserted with the cursor being the upper left  point  of  the
  2984.   8 by 8 character box.
  2985. #1360#
  2986.  
  2987.   The marked block defines the area for the grid.   All  characters  in  the
  2988.   marked block will be erased.   You will be  asked  for  the  vertical  and
  2989.   horizontal spacing for the grid.   If  the desired spacing  provides  even
  2990.   spacing the grid will come out completely even.   Otherwise  you  will  be
  2991.   left with an off size block at the ends.  See the examples below.
  2992.  
  2993.   ┌┬┬┬┬┬┬┬┬┬┐ ┌─┬─┬─┬─┬─┐ ┌──┬──┬──┬┐ ┌───┬───┬─┐ ┌────┬────┐ ┌┬┬┬┬┬┬┬┬┬┐
  2994.   ├┼┼┼┼┼┼┼┼┼┤ ├─┼─┼─┼─┼─┤ ├──┼──┼──┼┤ ├───┼───┼─┤ ├────┼────┤ │││││││││││
  2995.   ├┼┼┼┼┼┼┼┼┼┤ ├─┼─┼─┼─┼─┤ ├──┼──┼──┼┤ ├───┼───┼─┤ ├────┼────┤ ├┼┼┼┼┼┼┼┼┼┤
  2996.   └┴┴┴┴┴┴┴┴┴┘ └─┴─┴─┴─┴─┘ └──┴──┴──┴┘ └───┴───┴─┘ └────┴────┘ └┴┴┴┴┴┴┴┴┴┘
  2997.   vert 1      vert 1      vert 1      vert 1      vert 1      vert 2
  2998.   horz 1      horz 2      horz 3      horz 4      horz 5      horz 1
  2999. #1370#
  3000.  
  3001.   EZ-Forms DataBase will download to your HP LaserJet+ or compatible the
  3002.   fonts that you attach to the characters in your form.  Fonts are specified
  3003.   on a character by character basis.  That means you could have ten
  3004.   characters in a row on any line, each character with a different font.
  3005.  
  3006.   The font sizes listed are the defaults provided with the EZX Publishing
  3007.   HP LaserJet Fonts and Graphics Support Pack.  Actual sizes may vary since
  3008.   all of the fonts can be modified by the user.  This is accomplished by
  3009.   copying a different font to the font name EZ-Forms DataBase uses for that
  3010.   font (the downloading to your printer is done at print time).
  3011.  
  3012.   Combinations of the user defined functions (Alt1-4) are used to specify
  3013.   which font is attached to which character.  We have tried to make the use
  3014.   of these combinations as easy as possible.  Please note that even though
  3015.   you have to specify the font (0 thru 9) with  up to four different user
  3016.   defined functions, the sum of the specific user defined functions is
  3017.   always the font number.
  3018.  
  3019.   The HP LaserJet supports up to 10 fonts at one time; we have provided full
  3020.   support for that maximum.  The HP LaserJet supports up to 32 print macros;
  3021.   we have supported 15 print macros thru the Greek characters.
  3022. #1371#
  3023.  
  3024.   Refer to the On-line Manual from the main menu for additional information
  3025.   on HP LaserJet support.  The information is located under the Printing
  3026.   section of the On-line Manual.  Font naming conventions, printing
  3027.   sequence, plus several other topics are covered.
  3028.  
  3029.   The Print - Preload command can speed up printing time by downloading
  3030.   the soft fonts, graphics and form only once.  Subsequent printing only
  3031.   needs to send the information filled in to the fields.
  3032. #1380#
  3033.  
  3034.   Erasing the font references from a block involves clearing all the user
  3035.   defined functions from the marked block.
  3036.  
  3037.   Answer yes if you would like the font references erased/cleared. This will
  3038.   default the text back to font 0.
  3039. #1390#
  3040.   EZ-Forms DataBase allows you to use your computer's system clock to
  3041.   obtain the current date and time for use in your form.  If you choose
  3042.   either date or time feed then the computer's clock will be checked for
  3043.   the current time or date and then inserted at the current cursor position.
  3044.  
  3045.   As much of the date or time as will fit will be inserted into the
  3046.   available space.  Be careful if you are close to the right margin.
  3047.  
  3048.   Date formats: 0 mm/dd/yy   06/15/89  Time formats:   24 hour formats
  3049.   (Example      1 mm-dd-yy   06-15-89  (Example      0 hh:mm:ss  13:30:15
  3050.    using        2 yy-mm-dd   89-06-15   using        1 hh:mm     13:30
  3051.    15 Jun 1989) 3 mmddyy     061589     1:30:15 PM)    12 hour AM/PM formats
  3052.                 4 yymmdd     890615                  2 hh:mm:ss  01:30:15 PM
  3053.                 5 dd mmm yy  15 Jun 89               3 hh:mm     01:30 PM
  3054.   (Military)    6 Julian     9166 (last digit of year & 001-365 day of year)
  3055.                 7 dd/mm/yy   15/06/89
  3056.                 8 dd:mm:yy   15:06:89
  3057.                 9 ddmmyy     150689
  3058.                 A yy/mm/dd   89/06/15
  3059.                 B yy:mm:dd   89:06:15
  3060.                 C mm:dd:yy   06:15:89
  3061. #1400#
  3062.  
  3063.  
  3064.   Field markers are used in two ways:
  3065.   ═══════════════════════════════════
  3066.  
  3067.   In forms, you insert field markers (the ~ character) to mark areas you
  3068.   want protected in the data entry screen.  By filling the unused areas of a
  3069.   form with the field markers, you limit the area of the form that can be
  3070.   be filled-in later.
  3071.  
  3072.   Note: Field markers can be entered and deleted using the keyboard keys.
  3073. #1410#
  3074.  
  3075.   After  you input the text press Enter to insert it into your form.   Press
  3076.   Escape if you want to exit without altering your form.
  3077.  
  3078.   The text will be inserted vertically into your form.   The first character
  3079.   will be at the current cursor location.  The next character will be on the
  3080.   same column but one line down.  Etc.
  3081.  
  3082.   If  you  input text longer than the number of lines to the bottom of  your
  3083.   form,  inserting will stop at the last line of the  form.
  3084.  
  3085.   The length of the prompt using 's will vary depending on the number of
  3086.   lines from your current cursor location to the bottom of your form.
  3087. #1420#
  3088.   EZ-Forms DataBase allows you to easily generate form templates to be used
  3089.   with your pre-printed forms.  To do this:
  3090.  
  3091.   1.  Answer yes to generate the overlay grid.  Is this form the right size?
  3092.   2.  Insert your pre-printed form into your printer.
  3093.   3.  Call up the print menu (Alt P) and use the A (alignment dot) to print
  3094.       a dot in the corner of your form. Move your form around in the printer
  3095.       until the alignment dot prints EXACTLY on a known reference point.
  3096.       You may have to turn off the printer and move the printer head to see
  3097.       the alignment dot.  Turn the printer back on before trying to print.
  3098.   4.  Print the CFO grid.  It will overlay a numbered grid over your form.
  3099.   5.  Take note of the areas to be filled in on your pre-printed form and
  3100.       the line and column numbers from the CFO grid that overlay them.  At
  3101.       this point you have two options:
  3102.  
  3103.       a.  Try to design a form that looks like your pre-printed form with
  3104.           the blank areas in the correct spots.
  3105.       b.  Forget about appearance and use the generated grid with erased
  3106.           areas in the correct areas for data entry.
  3107.  
  3108.   The next screen briefly describes CFO and gives tips on how to better
  3109.   adjust the line and column spacing for CFO.
  3110. #1421#
  3111.  
  3112.   Using preprinted forms with EZ-Forms DataBase is easy.  To use this
  3113.   feature, first create a form to act as the template.  Make sure that all
  3114.   the "fields" match or align with those on your preprinted form.  Create a
  3115.   new database with this form and enter a test record.  When you print the
  3116.   test record, select C for clear forms overlay.  This will ensure only
  3117.   the unprotected area (the text you just typed in) will be printed.  The
  3118.   form outline is protected, so it doesn't print! Use the Add CFO Grid
  3119.   command (Alt Y) for a template.
  3120.  
  3121.   Tips for CFO:
  3122.  
  3123.   1.  Use the 6 lpi/8 lpi option along with the normal/small text options to
  3124.       adjust the vertical and horizontal spacing to match your field areas.
  3125.   2.  Make sure your form is sized large enough to generate a grid to cover
  3126.       your entire preprinted form.  Use F2 to resize your form prior to
  3127.       generating the CFO grid.
  3128. #1430#
  3129.  
  3130.   Usage for all printer drivers except for the HP LaserJet types E, J & K.
  3131.  
  3132.   Greek characters  are  user defined  commands  to direct the printer to do
  3133.   something.  They are defaulted to spaces to maintain correct form spacing.
  3134.   Add any printer commands you want for these special characters.  The first
  3135.   time  EZ-Forms  encounters  the  symbol  in a  form  it  will send  the on
  3136.   sequence.   The second time  it will  send the off sequence  (they  toggle
  3137.   states each time used).
  3138.  
  3139. #1431#
  3140.  
  3141.   Usage for HP LaserJet with printer type E, J or K selected.
  3142.  
  3143.   The Greek characters are used to select print macros.  These are predefined
  3144.   sequences of commands for your printer that can be triggered by sending a
  3145.   simple escape sequence (see your HP LaserJet technical reference manual
  3146.   for more info).  These are used for printing things like logos for
  3147.   letterhead and for printing someone's signature.  Unlike soft fonts, print
  3148.   macros have to be completely designed and defined with a macro ID (01-15)
  3149.   prior to you being able to reference them within a form.
  3150.  
  3151.   Print macros are selected within a form thru the use of the Greek
  3152.   characters.  The first Greek character triggers print macro 01, the second
  3153.   Greek character print macro 02, etc.  Use the Alt Z command to access them.
  3154. #1440#
  3155.  
  3156.   The notepad is basically an enhanced block copy.  You can copy any section
  3157.   of text from your form into the notepad.  The text can be pasted into the
  3158.   same form at a different location or to another form.
  3159.  
  3160.   The cursor location defines where the text will be copied to.
  3161.  
  3162.   Use of this command with large blocks of text requires a lot of memory (up
  3163.   to 64K). Your computer may not have enough memory to allow this operation.
  3164.   If that occurs, you will be given an out of memory message.  This in no
  3165.   way alters the functionality of any other portion of EZ-Forms DataBase.
  3166.   However, the amount of free memory shown on the bottom of the context
  3167.   sensitive help screens and the on-line manual may show 0K free. This means
  3168.   EZ-Forms DataBase at one point tried to use all of your RAM. If this
  3169.   occurs, try removing some of your memory resident software.  Yes, memory
  3170.   resident programs really do decrease your computer's available RAM.
  3171. #1450#
  3172.  
  3173.  
  3174.   This option gives you an easy way to draw a border around the outer edge
  3175.   of your form.  The line will be solid, adding the correct characters at
  3176.   the corners of the form.  Whatever was in the first character space around
  3177.   the outer edge of the form WILL be overwritten.  The default line drawing
  3178.   palette will be used.  Use Alt L to alter the default palette.
  3179. #1460#
  3180.  
  3181.  
  3182.   This option allows you to remove the entire border from your form with a
  3183.   single keystroke.   The first character position around the entire outer
  3184.   edge of the form will be erased.
  3185. #1470#
  3186.  
  3187.   The delete block command deletes all text in the marked block.  Please be
  3188.   careful with this command.
  3189.  
  3190.   Use the Ctrl V command if you want to alter the default help/message level
  3191.   and get rid of these prompts.
  3192.  
  3193.   See the copy block (Alt C) and move block (Alt M) commands for other
  3194.   options.
  3195. #1480#
  3196.  
  3197.   The block move command moves the text from the marked block to your current
  3198.   cursor location.  Your cursor location will be the upper left corner of
  3199.   where the text will be moved.  This is a move (displace -- from one point
  3200.   to another) so all the text in the marked block will move.
  3201.  
  3202.   See the copy block (Alt C) and delete block (Alt D) commands for other
  3203.   options.
  3204. #1490#
  3205.  
  3206.   The copy block command copies the text from the marked block to your
  3207.   current cursor location.  Your cursor will be in the upper left of where
  3208.   the text will be copied.  This is a copy (duplicate), so none of the text
  3209.   in the marked "source" block will be modified unless the blocks overlap.
  3210.  
  3211.   See the move block (Alt M) and delete block (Alt D) commands for other
  3212.   options.
  3213. #1500#
  3214.  
  3215.   The patch function will try to connect any adjoining character graphics
  3216.   symbols.  The symbols will be joined with one of the other character
  3217.   graphics symbols that best completes the form.  ONLY the immediate four
  3218.   characters are scanned (characters left, above, right, and below).  Based
  3219.   on these, a character out of │ ─ ┌ └ ┐ ┘ ├ ┤ ┬ ┴ ┼ is picked. You MUST have
  3220.   already placed a character graphics symbol of some type in the scanned
  3221.   character space for it to be considered for patching.  Example:
  3222.  
  3223.            │                                     │
  3224.       ───────          will be patched to   ─────┼─
  3225.            │                                     │
  3226.  
  3227.   Please note the first example had a character graphics symbol in the area
  3228.   and needed to be patched.  If it had not been there, EZ-Forms would
  3229.   have left the space blank instead of substituting the intersection symbol.
  3230.  
  3231.   EZ-Forms DataBase has to make a lot of assumptions when it is patching a
  3232.   form.  Sometimes it won't choose the character you think it should.  This
  3233.   command gives you a good start on the patching.  You will sometimes have
  3234.   to add the final touches.
  3235. #1510#
  3236.  
  3237.   EZ-Forms is not a wordprocessor.  It is a forms manager.  Forms are a
  3238.   fixed length unlike word-processor files.  If you want to insert a line
  3239.   something has to disappear (unless you use F2 to resize and lengthen the
  3240.   form first).  EZ-Forms inserts lines by moving the line the cursor is on
  3241.   and every line below down by one.  Where does the line go?  It disappears.
  3242. #1520#
  3243.  
  3244.   Your form size will not decrease when you delete a line.  The text is just
  3245.   moved up one line, overwriting any text on the cursor line.
  3246.  
  3247.   If you get tired of seeing these messages, set the default help/message
  3248.   level to zero (command is Ctrl V).
  3249. #1600#
  3250.  
  3251.   The Form Pick List function allows you to specify multiple choice tables
  3252.   for specific areas of a form.  While editing a record, Alt F2 brings up
  3253.   a list of items.  Select an item, then press Enter to place the item into
  3254.   the current field.
  3255.  
  3256.   Form Pick List design: First mark a block in the form using the block
  3257.   operation commands, Alt S/Alt E.  Press Alt F2 to display the Form Pick
  3258.   List menu.  Now you can use the Insert key (Ins) to add more items to this
  3259.   Pick List.  The order doesn't matter.  The Pick List is sorted by starting
  3260.   line number and starting column number.  When the user displays the Pick
  3261.   List, he will only see the items that were defined for the current block.
  3262.  
  3263.   Form Pick List items are saved as part of the master form.  There is
  3264.   basically no limit to the number of Pick List items you can have.  The
  3265.   maximum number is 65,536, assuming sufficient memory exists.
  3266.  
  3267.   Initially all Pick List items MUST be entered by marking a block in the
  3268.   form.  We chose this method to provide you with a visually-oriented
  3269.   Pick List design process.
  3270. #1610#
  3271.  
  3272.   You are editing one of the Pick List items.  You will see two edit lines.
  3273.   The top line allows you to specify the block within the form.  The
  3274.   bottom edit line contains the text for the Pick List item.  The two sets
  3275.   of numbers for the block are:
  3276.  
  3277.   xx,xx - This defines the upper left corner of the rectangle in a line
  3278.           column format.
  3279.  
  3280.   xx,xx - This is the lower right corner of the rectangle you defined as a
  3281.           block. This like the other number pairs are in line,column format.
  3282.  
  3283.   After you  edit the string and press enter, EZFDB will try to convert
  3284.   your input into four numbers.   These two line,column pairs are all that
  3285.   is of importance in your input; the rest of the text will be ignored.
  3286.  
  3287.   Notes: You must enter Pick List items through the use of the block
  3288.          operation commands.  That way you clearly see where the Pick List
  3289.          block is located.   Once you have entered the Pick List item, the
  3290.          entry can be edited by pressing Enter and modifying it.
  3291.  
  3292.          All text after a ~ is treated as a comment.
  3293. #1611#
  3294.  
  3295.   Please double check to ensure the block falls within the boundaries of
  3296.   your form.  Since you can easily resize a form smaller, we have no way to
  3297.   strictly enforce the numbers.
  3298.  
  3299.   Any lines or columns which are outside of the form boundaries will be
  3300.   ignored when you are filling out the form.  No damage will be done.
  3301.   However, the Pick List may not work exactly as you had planned.
  3302.  
  3303.   Notes:  We have intentionally set up the Pick List so as to make the
  3304.           design process as visual as possible.  Once you become comfortable
  3305.           with the Pick List design process, you can take shortcuts.  For
  3306.           example, mark a block  and  go to the edit screen.  Press Ins
  3307.           several times.  You have just entered Pick List items that can
  3308.           easily be edited to provide a Pick List for the area you desire
  3309.           without going through the "mark a block" routine.
  3310.  
  3311.           All text after a ~ is treated as a comment.
  3312. #1620#
  3313.  
  3314.   You can enter up to 70 characters to be available while filling out a
  3315.   form.  All blocks that overlap the cursor position when the user presses
  3316.   Alt F2 in data entry, will be shown in a list box.  The user will be
  3317.   able to select the desired Pick List item and press Enter to have it
  3318.   inserted into the form at the current cursor location.
  3319.  
  3320.   If you would like to have part of the entry be a comment, add a tilde (~)
  3321.   at any point in the entry.  Only the portion to the left of the ~ will be
  3322.   inserted into the form.  You can also use this to create a comment-only
  3323.   Pick List item.
  3324.  
  3325.   If you have a fixed length field and would like to have the inserted
  3326.   choice clear the entire field, pad the end of your input with spaces.
  3327.   This will make all Pick List items the same length.
  3328. #1630#
  3329.  
  3330.   Highlight one of the displayed items and press Enter.  The highlighted
  3331.   item will be inserted into the form at the current cursor location.  You
  3332.   can also press the first character to select an item.  Using this
  3333.   technique, EZFDB will first search for a case sensitive match then try for
  3334.   a case insensitive match.  For example, if you press b for Bob - EZFDB will
  3335.   first look for a b then try for a match on either b or B.
  3336.  
  3337.   Use the Alt F2 command to see the Pick List items defined for the
  3338.   current field.  Note that the list can only be modified when editing the
  3339.   master form with Form - Edit.
  3340.  
  3341.   All character attributes are left unchanged.  For example, if you had an
  3342.   area of the form that was underlined and then inserted an entry from a
  3343.   Pick List, the inserted item will also be underlined.
  3344.  
  3345.   In a Pick List item, all text after a ~ is considered a comment, and is
  3346.   not placed into the form.
  3347. #1700#
  3348.   The Form Help function allows you to specify up to ten lines of help for
  3349.   specific areas of a form.  During data entry, the Alt F1 key brings up a
  3350.   help screen, which was designed during form creation/edit.
  3351.  
  3352.   Form Help design: First mark a block in the master form using the
  3353.   block operation commands, Alt S/Alt E.  Press Alt F1 to bring up the
  3354.   help design menu.  Now you can use the Insert key (Ins) to add the
  3355.   help entry.  The order doesn't matter.  The Form Help list is sorted by
  3356.   starting line number and starting column number.  When you bring up the
  3357.   Form Help function, you will see only the first Form Help entry for the
  3358.   block that this current cursor location falls within.
  3359.  
  3360.   Form Help entries are saved as part of the master form.  There is
  3361.   basically no limit to the number of Form Help entries you can have.  The
  3362.   maximum number is 65,536 or when your computer runs out of memory.
  3363.  
  3364.   Form Help can be up to 10 lines long.  However, during design, only the
  3365.   first line is  displayed on the screen design list to show more entries.
  3366.   Initially all Form Help entries MUST be entered by marking a block in the
  3367.   form.  We chose this method to provide you with a visually-oriented
  3368.   Form Help design process.
  3369. #1701#
  3370.  
  3371.   Please double-check to ensure the block falls within the boundaries of
  3372.   your form.  Since you can easily resize a form smaller, we have no way to
  3373.   strictly enforce the numbers.
  3374.  
  3375.   Any lines or columns  which are outside of the form boundaries will be
  3376.   ignored when you are filling out the form.  No damage will be done.
  3377.   However, the Form Help may not work exactly as you had planned.
  3378.  
  3379.   Notes:  We have intentionally set up the Form Help so as to make the
  3380.           design process as visual as possible.  Once you become comfortable
  3381.           with the Form Help  design  process you can take shortcuts.
  3382.           For example, mark a block and go to the edit screen.  Press Ins
  3383.           several times.  You have just entered Form Help entries that can
  3384.           easily be edited to provide a Form Help for the area you desire
  3385.           without going through the "mark a block" routine.
  3386. #1710#
  3387.  
  3388.   You are editing one of the Form Help entries.  You will see two sets
  3389.   of edit lines.  The top line allows you to specify the block within the
  3390.   form.  The bottom edit lines contain the text for the Form Help.  The two
  3391.   sets of numbers for the block are:
  3392.  
  3393.   xx,xx - This defines the upper left corner of the rectangle in a line
  3394.           column format.
  3395.  
  3396.   xx,xx - This is the lower right corner of the rectangle you defined as a
  3397.           block. This like the other number pairs are in line,column format.
  3398.  
  3399.   After you edit the string and press enter, EZFDB will try to convert
  3400.   your input into four numbers.  These two line,column pairs are all that
  3401.   is of importance in your input; the rest of the text will be ignored.
  3402.  
  3403.   Notes: You must enter Form Help entries through the use of the block
  3404.          operation commands.  That way you clearly see where the field
  3405.          help block is located.  Once you have entered the Form Help entry,
  3406.          the entry can be edited by pressing enter and modifying it.  Press
  3407.          F10 when done editing.  If you exit by pressing escape without
  3408.          pressing enter on the line you are editing, changes will be lost.
  3409. #20050#
  3410.  
  3411.   EZ-Forms DataBase provides relational database capabilities using forms
  3412.   for data entry, printing and report formats.  It can create and edit its
  3413.   own forms, as well as use forms created by other EZ-Forms programs.  A
  3414.   form field is any horizontally contiguous, non-protected area of a form.
  3415.   A database field is one item of data that is part of a larger whole -
  3416.   the record.
  3417.  
  3418.   An analogy to a database is a file cabinet.  The file cabinet represents
  3419.   the database, a file folder represents a database record, and items in the
  3420.   file folder represent database fields.  The form represents how these
  3421.   items are placed and presented in the file folder.
  3422.  
  3423.   Form and database fields are named to provide documentation and placement
  3424.   capabilities.  Every field in the form can be named separately from every
  3425.   field in the database.  This is the key to flexible forms usage.  The
  3426.   first field in the database can be displayed in the fourth field on the
  3427.   form by simply naming them the same.  Database fields can be excluded by
  3428.   simply not having a form field name that matches that database field.
  3429.   Fields are limited to 1000 in count and 256 in width, and total record
  3430.   width cannot exceed 32000, depending on available memory.
  3431. #20051#
  3432.  
  3433.   The first step to filling out forms and working with databases is to
  3434.   create a new form or select an existing one.  The Form - Create command
  3435.   will guide you through making a new form.  This leads into the form editor,
  3436.   which is very similar to the EZ-Forms Executive editor.  The form editor
  3437.   is similar to a word processing editor, but with important differences
  3438.   which make forms creation a breeze.
  3439.  
  3440.   The next step is to create a database from the form you select.  The
  3441.   Database - New command will guide you through creation of a new database.
  3442.   You can choose an existing form, or even have it create one for you.
  3443.  
  3444.   Once created, you can enter records into the database by using the 'Add'
  3445.   command in the 'Revise' pull-down menu.
  3446.  
  3447.   Refer to other sections of the On-Line Manual for additional information.
  3448.   F1 is available to call up help while you are using EZ-Forms DataBase.
  3449. #20052#
  3450.  
  3451. ╔═════════════════════════ EZ-Forms DataBase v4.0 ════════════════════════╗
  3452. ║   Manual   Database Form     Revise   View     Index    Print    Config   ║
  3453. ╚═══════════════════════════════════════════════════════════════════════════╝
  3454.  
  3455.   The Main Menu options with descriptions are below.
  3456.  
  3457.   M   On-Line Manual: This is a manual for EZ-Forms DataBase that you can
  3458.       view right on your screen, without leaving the program.
  3459.  
  3460.   D   Database:  This option allows you to select from various databases for
  3461.       use with EZ-Forms DataBase.  You can choose field characteristics,
  3462.       create databases and rebuild databases to a new format.
  3463.  
  3464.   F   Form:  This option allows you to select from various form files for
  3465.       use with EZ-Forms DataBase.  You can create, edit, set up, view,
  3466.       print and describe forms to use with databases.
  3467.  
  3468.   R   Revise:  The Revise option allows you to alter the contents of the
  3469.       currently selected database.  You can add or edit records directly,
  3470.       or add records from another database.
  3471. #20053#
  3472.  
  3473.   V   View:  With this option, you can look at database records in
  3474.       various ways, look at field definitions and status information, find
  3475.       records and change what records will display.
  3476.  
  3477.   I   Index:  Here you can alter the display order of the records.
  3478.       Create and manage multiple indexes for accessing your data in various
  3479.       ways.
  3480.  
  3481.   P   Print:  This option lets you print a single form or multiple forms.
  3482.       When printing multiple forms, you can specify a subset of records to
  3483.       print.
  3484.  
  3485.   C   Config:  Configuration of the EZ-Forms DataBase program.  Select
  3486.       printer, colors and other parameters.  Also allows you to save
  3487.       alternate configuration files for later restore.
  3488. #20100#
  3489.  
  3490.   EZ-Forms DataBase provides relational database capabilities using forms
  3491.   for data entry, printing and report formats.  It can create and edit its
  3492.   own forms, as well as use forms created by other EZ-Forms programs.
  3493.  
  3494.   EZ-Forms DataBase allows you to create and maintain a database, order its
  3495.   records, display the records in various ways, and do a multitude of other
  3496.   things while providing on-line help every step of the way.  Here are some
  3497.   of its possible uses at home or at the office:
  3498.  
  3499.         Address Book            Sales Leads             Asset Management
  3500.         Invoices                Expenses                Disk Cataloging
  3501.         Inventory               Time Logging            Customer List
  3502.         Mailing List            Bibliography            Billing
  3503.  
  3504.   Example forms and databases for some of the above applications are
  3505.   provided on the system diskette.  Feel free to use them as is, learn
  3506.   from them, or alter them to better suit your needs.
  3507. #20101#
  3508.  
  3509.   If you already have a dBASE compatible database, you can use it as-is
  3510.   with EZ-Forms DataBase.  You can even have it generate a form for you that
  3511.   will match the database.  You can then alter this form to make it more
  3512.   suitable.  If your data exists in another format, EZFDB supports 6 file
  3513.   types for importing data to an existing database.  These same 6 file types
  3514.   are available for export too.
  3515.  
  3516.   For data entry by several different departments, you can define alternate
  3517.   forms that present the same database fields in different formats better
  3518.   suited to the needs of each department.
  3519.  
  3520.   For reporting, you can use the same form used for data entry, or you can
  3521.   use an alternate form.  EZFDB allows you to print any subset of records
  3522.   easily, one record per form.  Forms can be combined on a page or printed
  3523.   separately, one per page.  There is even an Alternate Form command that
  3524.   will print the current record using a different form without changing the
  3525.   installed form.  The label printing command works similarly, but can also
  3526.   suppress horizontal and vertical blank spaces for professional looking
  3527.   labels.  You can even print labels that use any of the supported print
  3528.   attributes like bold, underline, superscript, etc.
  3529. #20102#
  3530.  
  3531.   EZ-Forms DataBase requires an IBM PC (tm) or compatible with at least
  3532.   640K of RAM.  Direct screen memory access is used to provide high speed
  3533.   screen updates.  This may make EZ-Forms DataBase unusable on some "not too
  3534.   close" IBM PC compatibles.  IBM monochrome, CGA, EGA and VGA graphics
  3535.   adapters are known to work with  EZ-Forms DataBase.  If you are using an
  3536.   IBM color graphics card with a "green screen", then you must use the DOS
  3537.   MODE command on your DOS diskette to default to black and white (type MODE
  3538.   BW80 and then run EZ-Forms DataBase).  If you are using a serial printer,
  3539.   use the DOS MODE command to route the serial printer to LPT1 (see your DOS
  3540.   manual for details).
  3541.  
  3542.   To be able to use all of the 12 maximum indexes, the DOS config.sys file
  3543.   must specify that at least 20 files can be open at a time.  The config.sys
  3544.   command line for 20 files would be:  'FILES = 20'
  3545.  
  3546.   It is assumed that you understand DOS and how it deals with files, file
  3547.   names and directories.  If you are confused, consult your computer manual
  3548.   or your local PC "guru" first, as we can only help you with EZFDB.
  3549. #20200#
  3550.                       ┌─────────────────────────────┐
  3551.                       │ EZ-Forms DataBase Features  │
  3552.                       │ and Command Cross-Reference │
  3553.                       └─────────────────────────────┘
  3554.  
  3555.   This is a list of major features, each followed by one or more commands,
  3556.   indicating what commands control which features.  Many features are also
  3557.   apparent in data entry (Revise - Add, Revise - Edit) but for brevity
  3558.   are not listed as such.
  3559.  
  3560.   - Unlimited relational lookups/updates (auto fill-in from/to other
  3561.     databases) (Revise - Fields)
  3562.   - dBASE III, III+ and IV .dbf, .ndx and .dbt file compatibility
  3563.   - For network version, network administration features including
  3564.     user/password entry, db file/record contention showing user name,
  3565.     create/revise function lockout control, network license management
  3566.     (ADMIN.EXE)
  3567.   - Automatic form creation from existing .dbf files (Database - Open)
  3568.   - Quickly create a database from an existing form (Database - New)
  3569.   - Full-featured Form Editor, complete with block and character functions,
  3570.     and graphics (Form - New, Form - Edit)
  3571. #20201#
  3572.  
  3573.   - Easily match a database to any existing form (Form - Setup)
  3574.   - Fill in pre-printed forms
  3575.   - On-line manual and context sensitive help (Manual and F1)
  3576.   - Up to 12 indexes per database, continuously updated (Index)
  3577.   - Index on any field portion and/or combination (Index - Create)
  3578.   - Field Calculations (Revise - Fields)
  3579.   - Browse mode for viewing multiple records per screen (View - Browse)
  3580.   - Easily modify database format to add/delete fields and change field
  3581.     sizes and characteristics (Database - Build)
  3582.   - Print stylish reports with headers, footers, page numbers, etc.
  3583.     (Print - Report)
  3584.   - User defineable Form Help (Form - New, Form - Edit)
  3585.   - Form Pick List, provides simple multiple choice during data entry
  3586.     (Form - New, Form - Edit)
  3587.   - Field Sequence control, for data entry that doesn't follow normal left
  3588.     to right, top to bottom order (Form - Setup)
  3589.   - Relational Pick List, provides multiple choice selections from another
  3590.     database (Revise - Fields)
  3591.   - Word Wrap on any set of fields (Form - Setup)
  3592. #20202#
  3593.  
  3594.   - Quick report feature for on-the-fly record counting, summing and
  3595.     averaging (View - Report)
  3596.   - Choose which fields show up on a form, and where (Form - Setup)
  3597.   - Duplicate record search (Index - Find Dup)
  3598.   - Create/revise function lockout for end-user applications
  3599.     (Config - Lock for single-user, ADMIN.EXE for network)
  3600.   - Unlimited databases per form (Form - Open)
  3601.   - Unlimited forms per database (Form - Open)
  3602.   - Append records from other .dbf database files (Revise - Merge)
  3603.   - Import records from other database file formats (Revise - Import)
  3604.   - Export records to other database file formats (Database - Xport)
  3605.   - Keyboard (100+) macros, each up to 1000 keystrokes long (Alt =)
  3606.   - Memo fields that allow meaningful comments of up to 5K characters
  3607.     (Database - New)
  3608.   - Field validations: Character, Numeric, Date and Logical
  3609.     (Database - New, Revise - Fields)
  3610.   - Repeat keys for repetitive data copy, date, time, etc.
  3611.     (Revise - Add, Revise - Edit)
  3612.   - Window fields for extra-long fields that fit anywhere
  3613.     (Form - New, Form - Edit)
  3614. #20203#
  3615.  
  3616.   - Printing in "single-up" or "multi-up" label mode, with blank line and
  3617.     extra horizontal space suppression (Print - Labels)
  3618.   - Configurable screen colors (Config - Colors)
  3619.   - Supports over 500 dot matrix, ink jet, daisy wheel and laser printers
  3620.     (Config - Printer)
  3621. #20300#
  3622.  
  3623.                                  DATABASES
  3624.                                  ═════════
  3625.  
  3626.   Data is entered into fields on a form, and the fields are stored as a
  3627.   record into a database file.  EZ-Forms DataBase (EZFDB) works with dBASE
  3628.   compatible (III, III+ and IV) database and Memo files.
  3629.  
  3630.   The database file has an extension of '.dbf' and is where the records are
  3631.   stored.  Each record can have one or more Memo fields and when it does,
  3632.   there is an associated Memo file that has an extension of '.dbt'.  All Memo
  3633.   fields for the database are stored in this file.  Whenever a database
  3634.   is selected for use with EZFDB, a form (.frm) file, a form/database (.fdb)
  3635.   file and a database definitions (.dbr) file is read in by default.  The
  3636.   database file has field information in its header so if a form doesn't
  3637.   exist, EZFDB can create one for you.  If no database exists, a form is
  3638.   required to create a database.  For database selection, all these types of
  3639.   files must have the same name, with different extensions.  For example,
  3640.   'data' would have:
  3641. #20301#
  3642.  
  3643.   - database file  (data.dbf)   Stores the actual data
  3644.   - memo file      (data.dbt)   Where memo fields are stored
  3645.   - database defs  (data.dbr)   Contains Index List, Field Calculations
  3646.                                 and Relational Pick Lists        
  3647.   - form file      (data.frm)   EZ-Forms form for data entry,reports,labels
  3648.   - form/db file   (data.fdb)   Contains form field names and options
  3649.   - index files    (data.ndx)   Record ordering data (optional)
  3650.  
  3651.   Each field of a record has all of the following characteristics:
  3652.  
  3653.   Characteristic              Description
  3654.   ════════════════  ══════════════════════════════════════════════════════
  3655.   Name . . . . . .  Can be up to 10 alphabetic, numeric or '_' characters.
  3656.   Type . . . . . .  Character, Numeric, Date, Logical or Memo.
  3657.   Width  . . . . .  1 through 256, depending on type.
  3658.   Decimals . . . .  For Numeric fields only.  Number of digits after decimal
  3659.                     pt., 0 - 15.  Must be at least 2 less than field width.
  3660.   Calculation  . .  Any expression that evaluates to the field's type.
  3661. #20302#
  3662.  
  3663.   The field name is defined by the database creator for documentation and
  3664.   data placement purposes.  The name is relatively short, but it should
  3665.   always reflect the meaning of the field.  The database field name is
  3666.   matched up to a form field name to decide where to place its data on the
  3667.   form.
  3668.  
  3669.   During data entry, the field name and type is displayed on the bottom
  3670.   line.  A help screen is available to explain the permissable entries for
  3671.   each field type.
  3672.  
  3673.   Examples
  3674.   ════════
  3675.  
  3676.   FIRST_NAME
  3677.   LAST_NAME
  3678.   TOTAL
  3679.   YR_TO_DATE
  3680.   SERIAL_1
  3681. #20303#
  3682.  
  3683.   The field type indicates what kind of data the field contains.
  3684.  
  3685.   Type        Can Contain                                   Width
  3686.   ══════════  ════════════════════════════════════════════  ═════════════════
  3687.   Character   any ASCII character                           1 - 256
  3688.               (letters, numbers, symbols and spaces)
  3689.  
  3690.   Numeric     '0' - '9', '.', '-'                           0 - 19
  3691.                                                             Decimals 0 - 15
  3692.  
  3693.   Date        '0' - '9', '/' in MM/DD/YY format             8
  3694.  
  3695.   Logical     'T','t','Y' or 'y' for logical true (.T.),    1
  3696.               'F','f','N' or 'n' for logical false (.F.)
  3697.  
  3698.   Memo        any ASCII character                           10
  3699.               (letters, numbers, symbols and spaces)       (5000 in Memo file)
  3700. #20304#
  3701.  
  3702.   Memo Fields
  3703.   ═══════════
  3704.  
  3705.   A Memo field is very similar to a Character field, except that its data
  3706.   is stored in a separate Memo (.dbt) file and each Memo field's length
  3707.   can be variable and relatively long.  The advantage is when an occasional
  3708.   elaboration is required for a certain record, there are no limits as to how
  3709.   long or short the elaboration can be.  Only 10 bytes are used for each Memo
  3710.   field in a record to point to the corresponding data in the Memo file.
  3711.   When there is data in a Memo field, it is written to the Memo file in 512
  3712.   byte blocks.  When there is no data, nothing is written to the Memo file.
  3713.  
  3714.   Record and Field Sizes
  3715.   ══════════════════════
  3716.  
  3717.   The field width defines how many characters can be in the field.  The
  3718.   field decimals is for Numeric-type fields only, and specifies how many
  3719.   digits can appear after the decimal point.
  3720. #20305#
  3721.  
  3722.   The sum of the widths of all fields (10 for Memo fields) is the record
  3723.   length.  The maximum width for a field is 256 characters.  The maximum
  3724.   record length is 32000 characters.  The total number of fields in the form
  3725.   or database cannot exceed 1000.  Maximums are subject to available
  3726.   memory restrictions.
  3727.  
  3728.   Field Calculations
  3729.   ══════════════════
  3730.  
  3731.   Field Calculations are simply expressions which can be defined for any
  3732.   field.  The expression is calculated at data entry time if the Auto
  3733.   Recalc option is turned on in the Config - Other menu.  Field
  3734.   Calculations can include math, alphabetic case conversions, relations,
  3735.   conditional relations, and character manipulation.
  3736.  
  3737.   Field Calculations are directly associated to a database field, so even
  3738.   when multiple forms are used with a single database, all Field Calculations
  3739.   will apply even if some database fields are not present on the form.  This
  3740.   allows you to use non-displayed fields in your Field Calculations.
  3741. #20400#
  3742.  
  3743.                                  FORMS
  3744.                                  ═════
  3745.  
  3746.   A form (.frm) file defines the data entry screen and/or the report format.
  3747.   You can read a form with or without prior selection of a database.
  3748.   Before a form can work with a database, a form/database (.fdb) file is
  3749.   required.  This file defines the form field names and tells EZFDB where to
  3750.   place data on the form for printing or screen display.  Reading a different
  3751.   form after a database is selected provides an alternate view to that
  3752.   database, assuming the form fields are named appropriately.  Various
  3753.   commands can create this file.
  3754.  
  3755.   EZ-Forms DataBase can create and edit its own forms, as well as use
  3756.   forms created by other EZ-Forms programs.  However, math formulas from
  3757.   EZ-Forms Lite, Plus and Executive are not supported.  Math formulas are
  3758.   instead handled by database Field Calculations.
  3759.  
  3760.   EZ-Forms DataBase also supports the use of the HP LaserJet Font and
  3761.   Graphics Support Pack (HPLJFGSP) for printing.
  3762. #20401#
  3763.  
  3764.   Form Field Names
  3765.   ════════════════
  3766.  
  3767.   The Form - Setup command allows you to enter field names directly
  3768.   into the form, so that you can see the form while you're deciding on names.
  3769.   If necessary, the Database - New command will automatically create form
  3770.   field names from the database field names.
  3771.  
  3772.   Field names consist of up to 10 characters with only alphabetic, numeric
  3773.   and '_' characters allowed.  Alphabetic case is insignificant.  When
  3774.   entering field names in the form, field windowing is used if the field
  3775.   is smaller than 10 characters.
  3776.  
  3777.   Until the database is created or attached, these field names only apply
  3778.   to the form.  When a new database is created from a form that already
  3779.   has field names, the database field names are made identical to the form
  3780.   field names.  When opening an existing database or loading an alternate
  3781.   form while a database is already open (active), the form field names are
  3782.   matched up to the database field names, in order to find out where to place
  3783.   data on the form.  Any fields without a match always displays blanks, and
  3784.   any data entered into these fields will be lost, once the record is saved.
  3785. #20402#
  3786.  
  3787.   Window Fields and Memo Fields
  3788.   ═════════════════════════════
  3789.  
  3790.   EZFDB will only place data into a form field when that field's name
  3791.   matches a database field name.  Even so, the form field can be longer
  3792.   or shorter than the corresponding database field.  When the form field
  3793.   is longer, all the data appears but data entry will be limited to the
  3794.   length of the database field.  When the form field is shorter, the field
  3795.   is automatically windowed.
  3796.  
  3797.   A window field is a form field whose data is longer than its field length.
  3798.   All data is accessible, it's just not all shown in the form at the same
  3799.   time.  During data entry, when the cursor approaches the end of the field,
  3800.   the remaining data will automatically scroll leftward into view, and the
  3801.   cursor will remain in the field until it reaches the end of the data.
  3802.   Similarly, when the cursor approaches the beginning of the field, the
  3803.   remaining data will automatically scroll rightward into view, and the
  3804.   cursor will remain in the field until it reaches the end of the data.
  3805. #20403#
  3806.  
  3807.   All Memo fields are automatically Windowed fields since the permissable
  3808.   Memo field length (5000) is much longer than the longest possible form
  3809.   field.  However, there is one exception: Memo fields cannot be changed
  3810.   within the form but the first part is displayed in the form.  An external
  3811.   memo editor (MEMO.COM) must be invoked (with Alt E) during data entry to
  3812.   edit Memo fields.  This allows for use of the full screen for editing.
  3813.   When you exit the editor, the Memo field will be updated.  An intermediate
  3814.   file is used for the editing: MMxxxxxx, where xxxxxx is a random number.
  3815.  
  3816.   Alternate Forms
  3817.   ═══════════════
  3818.  
  3819.   The main form is the form that was used to create the database, and/or
  3820.   has the same filename as the database.  An alternate form has a different
  3821.   filename, and provides an alternate view to a database. It can contain any
  3822.   subset of database fields, in any order.  You can create an unlimited
  3823.   number of alternate forms, to use with even more than one database.
  3824.   Alternate forms can be used for reports, labels, or even for an alternative
  3825.   data entry screen.
  3826. #20404#
  3827.  
  3828.   Alternate Forms as Reports
  3829.   ══════════════════════════
  3830.  
  3831.   A report differs from a form because more than one instance (record) of
  3832.   information can be presented on a single page.  For example, with a
  3833.   database of customers, the data entry form shows only one customer.  To
  3834.   print a report that lists customers by name, with many customers per
  3835.   page, you will need to create an alternate form that will lay out the
  3836.   data for one customer on that page.  When printing a report, each page is
  3837.   filled with as many forms as will fit, one per customer.  The report form
  3838.   might be 2 lines by 80 columns, and contain the customer's name and phone
  3839.   number on the first line, and nothing on the second line.  The blank
  3840.   second line provides a blank line between customers on the printout, to
  3841.   improve readability.
  3842. #20405#
  3843.  
  3844.  
  3845.   Alternate Forms as Labels
  3846.   ═════════════════════════
  3847.  
  3848.   Labels are very similar to reports.  The only differences pertain to
  3849.   creating professional looking labels.  The label printing commands are
  3850.   able to respace information on a label, thereby removing extraneous blanks
  3851.   and creating a natural appearance.  In addition, the Print - Labels
  3852.   command can print labels 1, 2, or 3, etc. accross, for use with Cheshire
  3853.   or other similar labelling systems.
  3854. #20500#
  3855.  
  3856.                                INDEXES
  3857.                                ═══════
  3858.  
  3859.   An index defines the record access order.  Indexes can be defined with
  3860.   any combination or parts of fields.  Up to 12 indexes can be retained
  3861.   in the database's Index List, assuming the DOS config.sys file contains a
  3862.   'FILES=20' command.  The Index List defines all indexes to be used with a
  3863.   database.  Only 1 index can be active at any time, but all indexes in
  3864.   the Index List are updated whenever records are added or modified.  The
  3865.   Index List is stored in the .dbr (database definitions) file.  The index
  3866.   that automatically becomes active whenever the database is selected, is
  3867.   called the Default Index, and is delineated by an 'D' in the selection box.
  3868.  
  3869.   Index Creation
  3870.   ══════════════
  3871.  
  3872.   The Index - Create command will create a new index file from a given
  3873.   expression.  When complete, the index's file name will be added to the
  3874.   Index List.
  3875. #20501#
  3876.  
  3877.   The expression must be the kind that evaluates to a Character or Numeric
  3878.   type.  Logical expressions are only used for selection criteria.  Memo
  3879.   fields cannot be used in an index expression.  The result of the expression
  3880.   on a given record is the index key for that record.  The result must be of
  3881.   proper type and cannot be longer than 100 characters.
  3882.  
  3883.   A filename for the index file is required.  If the filename already exists
  3884.   in the Index List or in the specified directory, a warning is given before
  3885.   the file is overwritten.
  3886.  
  3887.   Index files can be setup to allow only unique keys.  In this case, any
  3888.   duplicate keys encountered during index creation will halt the creation
  3889.   process, with an error, indicating what record contains the duplicate key.
  3890.   In addition, duplicate key values will cause an error after adding or
  3891.   revising a record.  Records with key values already in the index file
  3892.   cannot be entered.
  3893.  
  3894.   For example, to create an index that will display records in the order
  3895.   indicated by the contents of a field named LAST_NAME, the expression
  3896.   would simply be:    LAST_NAME
  3897. #20502#
  3898.  
  3899.   Index Maintenance
  3900.   ═════════════════
  3901.  
  3902.   Index - Select allows you to select a new current index from the index
  3903.   list.  The current index is the index that controls the order in which
  3904.   records are displayed.
  3905.  
  3906.   Index files can be added to the Index List by using the Index - Create
  3907.   or the Index - Include command.  Index files can be deleted from the list
  3908.   by using the Index - Erase command.  The Index - Default command will
  3909.   mark a new default index.  If there is an error when initially accessing
  3910.   the default index file, no index is automatically active.
  3911.  
  3912.   Index - Off turns off all indexed record access.  This allows the records
  3913.   to be displayed in chronological order.  When a database is first created,
  3914.   no indexes exist for it and the Index List is empty.  All displays show the
  3915.   records in chronological order, i.e., the order in which the records were
  3916.   entered.  Once the first index is created, it becomes the default index.
  3917.   Whenever the database is selected via the Database - Open command, the
  3918.   default index is active.  The only way to go back to a chronological index
  3919.   is either by using the Index - Erase command to erase the index or by using
  3920. #20503#
  3921.  
  3922.   the Index - Off command to turn off all indexes.
  3923.  
  3924.   Turning off indexed record access is a way to speed up the Find command, 
  3925.   since it normally searches using the active index.
  3926.  
  3927.   Index Integrity
  3928.   ═══════════════
  3929.  
  3930.   If all indexes were created with EZFDB, files were never moved or deleted,
  3931.   and no disk errors occured during file updates, all would be fine.
  3932.   Dream on.  Errors and mistakes will occur.  EZFDB cannot always determine
  3933.   when an index file is invalid.  Occasional checks are made where possible.
  3934.   Here are some examples of when the index file is partially checked for
  3935.   validity:
  3936.  
  3937.     1) When a database is initially selected, the database file and all its
  3938.        Index List indexes are opened.  When an index file is opened, the
  3939.        expression that was used to create the index file is checked against
  3940.        the database for valid field names and field types.
  3941. #20504#
  3942.  
  3943.     2) When an index is active, the index helps determine which record to
  3944.        display.  A particular entry in the index file corresponds to a
  3945.        record in its database.  If the corresponding record no longer exists
  3946.        or it has a different key value, an error will occur.
  3947.     3) When a record is accessed by number, the index file is not needed.
  3948.        After the record is retreived however, the key is determined and
  3949.        found in the index file to setup the next indexed access.  An error
  3950.        will occur when the key is not found in the index file, or when the
  3951.        key points to a different database record.
  3952.  
  3953.   The Index - Rebuild command will rebuild one or all of the index files that
  3954.   are in the Index List.  Rebuilding the index files is usually only
  3955.   necessary when one of the files has been damaged or the database has been
  3956.   modified without the corresponding modification made to the index files.
  3957. #20700#
  3958.  
  3959.                                PRINTING
  3960.                                ════════
  3961.  
  3962.   EZ-Forms DataBase supports various laser, dot matrix, and daisy wheel
  3963.   printers such as the HP LaserJet, Epson, IBM, and compatibles.  This
  3964.   support includes graphics and print attributes such as bold and underline.
  3965.   Most other printers can be used with the Generic printer driver, which
  3966.   uses plain ASCII instead of graphics characters.  If EZFDB doesn't support
  3967.   your printer well-enough, you can edit the codes in one of the built-in
  3968.   drivers, and create a customized driver.
  3969.  
  3970.   You can print a form from the main menu by using one of the Print options,
  3971.   or by pressing Alt P while in a form display mode.
  3972.  
  3973.   EZ-Forms DataBase does not require you to define your printer type before
  3974.   you can print.  The Generic printer driver is the automatic default.
  3975.  
  3976.   Here are some notes to help keep your association with EZ-Forms DataBase
  3977.   forms printing on a friendly basis.
  3978. #20701#
  3979.  
  3980.   1.  Most printers can print 66 lines per page.  To print a full-page form,
  3981.       we recommend using 64 lines x 80 columns, which allows a couple of
  3982.       extra lines at the end to compensate for paper alignment.  Adjust your
  3983.       printer so the first line prints at the VERY top of the page. If you
  3984.       don't, some of the forms may spill over onto the next page.
  3985.  
  3986.   2.  Some printers have micro-justification (usually controlled by a switch
  3987.       inside  the  printer).   Make sure this switch is off before using
  3988.       EZ-Forms DataBase (usually this means turning off the switch AND
  3989.       turning the printer off and back on).  If your printer uses micro-
  3990.       justification, then the right border of the printed form will NOT line
  3991.       up vertically.
  3992.  
  3993.   3.  If you do not have an Epson, IBM, or LaserJet or compatible, then you
  3994.       can't use the compressed print mode. See the printer configuration
  3995.       area (Config-Printer) for a current list of printers.
  3996.  
  3997.   4.  The Config-Printer command will allow you to set up the codes needed
  3998.       for almost any printer.
  3999.  
  4000.   5.  Some laser printers may require you to first print the form to a file
  4001. #20702#
  4002.  
  4003.       via the 'T' option in the Print Setup menu.  Then after proper printer
  4004.       initialization, you can print the ASCII file from DOS with the command:
  4005.       COPY "filename" PRN: (or LPT1:, COM1:, ETC.).
  4006.  
  4007.   6.  EZ-Forms DataBase directly supports the HP LaserJet and compatible
  4008.       printers.  Solid vertical and horizontal lines are printed.  Multiple
  4009.       fonts and graphic images on form are available with the optional HP
  4010.       LaserJet Fonts and Graphics Support Pack (HPLJFGSP), explained on the
  4011.       next few screens.  This pack also allows use of the Print - Preload
  4012.       command, which speeds up the printing process by loading the fonts,
  4013.       graphics and form to the printer only once.
  4014.  
  4015.   7.  Using preprinted forms:  EZ-Forms DataBase has a Clear Forms Overlay
  4016.       (CFO) selection on the Print Setup menu, which allows you to easily
  4017.       use preprinted forms.  To use this feature, first create a form to act
  4018.       as the template.  Make sure that all of the fields match or align with
  4019.       those on your preprinted form.  Create a new database with this form
  4020.       and enter a test record.  When printing the test record, select C for
  4021.       Clear Forms Overlay.  This will ensure only the unprotected area (text
  4022.       you just typed in) will be printed.  The form outline is protected, so
  4023.       it doesn't print!
  4024. #20703#
  4025.  
  4026.                 HP LaserJet Fonts and Graphics Support Pack
  4027.                 ═══════════════════════════════════════════
  4028.  
  4029.   EZX Publishing now offers fully integrated Soft Fonts for use with the HP
  4030.   LaserJet+, II & III series of laser printers.  With this optional support
  4031.   package, EZ-Forms DataBase supports 16 groups of downloadable soft fonts.
  4032.   Though not necessary, the Print - Preload command will download all used
  4033.   soft fonts, graphics, and the form, in order to speed up subsequent
  4034.   printing.  Each of the 16 groups is based on normal/small text, 6/8 lines
  4035.   per inch, normal/very dark text, and portrait/landscape orientation.
  4036.   Within each group you can have 10 fonts, 00 being the default font and
  4037.   01-09 being additional fonts you can access within any given form.  The
  4038.   naming convention is:
  4039.  
  4040.   Fnt00N6N.SFP
  4041.      │││││ │ │                                                      
  4042.      ╘╡│││ ╘═╧═ Soft font portrait (SFP) or soft font landscape (SFL)
  4043.       │││╘═════ Normal (N) or very dark (V) text/graphics
  4044.       ││╘══════ 6 or 8 lines per inch
  4045.       │╘═══════ Normal (N) 10 cpi or small (S) 17 cpi text/graphics
  4046.       ╘════════ Font number (00 is default), range 00-09
  4047. #20704#
  4048.  
  4049.   This provides 16 possible font groups:
  4050.  
  4051.   Fnt00n6n.SFP  10 cpi, 6 lpi, normal darkness, portrait
  4052.   Fnt00s6n.SFP  17 cpi, 6 lpi, normal darkness, portrait
  4053.   Fnt00n6v.SFP  10 cpi, 6 lpi, very dark text/graphics, portrait
  4054.   Fnt00s6v.SFP  17 cpi, 6 lpi, very dark text/graphics, portrait
  4055.   Fnt00n8n.SFP  10 cpi, 8 lpi, normal darkness, portrait
  4056.   Fnt00s8n.SFP  17 cpi, 8 lpi, normal darkness, portrait
  4057.   Fnt00n8v.SFP  10 cpi, 8 lpi, very dark text/graphics, portrait
  4058.   Fnt00s8v.SFP  17 cpi, 8 lpi, very dark text/graphics, portrait
  4059.   Fnt00n6n.SFL  10 cpi, 6 lpi, normal darkness, landscape
  4060.   Fnt00s6n.SFL  17 cpi, 6 lpi, normal darkness, landscape
  4061.   Fnt00n6v.SFL  10 cpi, 6 lpi, very dark text/graphics, landscape
  4062.   Fnt00s6v.SFL  17 cpi, 6 lpi, very dark text/graphics, landscape
  4063.   Fnt00n8n.SFL  10 cpi, 8 lpi, normal darkness, landscape
  4064.   Fnt00s8n.SFL  17 cpi, 8 lpi, normal darkness, landscape
  4065.   Fnt00n8v.SFL  10 cpi, 8 lpi, very dark text/graphics, landscape
  4066.   Fnt00s8v.SFL  17 cpi, 8 lpi, very dark text/graphics, landscape
  4067.  
  4068.   Note:  Each font group can have up to 10 fonts, 00-09.
  4069.  
  4070. #20705#
  4071.  
  4072.   Each font may optionally have its horizontal and vertical motion index
  4073.   adjusted.  EZ-Forms DataBase uses a file with the same name as the font
  4074.   except ending with HMP (portrait)/HML (landscape) to designate an ASCII
  4075.   file that contains an ASCII number for modifying the character spacing
  4076.   for a font.  If no file exists then EZ-Forms DataBase assumes no motion
  4077.   modification is required.  Refer to your HP LaserJet technical reference
  4078.   manual for details on horizontal (HMI) and vertical (VMI) motion indexes.
  4079.  
  4080.   Font 00, the default font, is used for the form outline and for all text
  4081.   that doesn't have another font specified thru the EZ-Forms character
  4082.   attribute functions.  It also determines the inter-line spacing for any
  4083.   other (01-09) loaded font.  With driver E, this font is loaded from
  4084.   disk.  Driver K uses the internal LaserJet default fault with PC-8
  4085.   symbol set for font 00 only.  This symbol set is available in most
  4086.   LaserJets and compatibles, except for some of the older ones.  Both E
  4087.   and K drivers load all other fonts from disk.
  4088.  
  4089.   Any font may be renamed to fit into the EZ-Forms DataBase naming
  4090.   conventions.  However, most fonts don't provide the character graphics
  4091.   symbols that allow the lines in the form to be drawn.  All of the EZX Soft
  4092.   Fonts in the font support package provide this capability.
  4093. #20706#
  4094.  
  4095.   Print macros are also supported.  Print macros are predefined sequences of
  4096.   commands for your printer that can be triggered by sending a simple escape
  4097.   sequence (see your HP LaserJet technical reference manual for more info).
  4098.   These are used for printing things like logos for letterhead and printing
  4099.   someone's signature. Unlike soft fonts, print macros have to be completely
  4100.   designed and defined with a macro ID (01-15) prior to you being able to
  4101.   reference them within a form.
  4102.  
  4103.   Print macros must be named MACROxxy.HPM  where xx is the macro ID and y is
  4104.   either P (portrait) or L (landscape).
  4105.  
  4106.   Print macros are selected within a form thru the use of the Greek
  4107.   characters.  The first Greek character triggers print macro 01, the second
  4108.   Greek character print macro 02, etc.  The Alt-Z command during data entry
  4109.   allows selection of Greek characters.
  4110.  
  4111.   Print macros can't have a shaded background. This is intentional because a
  4112.   print macro is a graphic image of an item.  The graphic image will already
  4113.   contain any shading desired when it is designed.
  4114. #20707#
  4115.            BASIC OVERVIEW OF HOW TO USE THE SOFT FONTS FOR PRINTING
  4116.            ════════════════════════════════════════════════════════
  4117.  
  4118.   The following is an overview of printing when using the optional EZX Soft
  4119.   Fonts with driver E or K selected (HP LaserJet+, II, III or compatible).
  4120.  
  4121.   1.  EZFDB searches your form for "Greek characters"- αßΓπΣσµτΦΘΩδ∞φε - and
  4122.       then downloads to your printer the print macro referenced by the Greek
  4123.       character. The first Greek character references the first print macro,
  4124.       the second Greek character references the second print macro, etc.
  4125.   2.  EZFDB searches your form for any fonts referenced.  It then downloads
  4126.       to your printer Font 00 plus any additional fonts the form references.
  4127.   3.  EZFDB is now ready to start printing. It prints the outline using Font
  4128.       00.  Any other font is used on additional passes.  EZFDB selects the
  4129.       Font 00 and goes to the line and column of the next text using a
  4130.       different font (other than 00).  It will then print all the contiguous
  4131.       characters/text using that font.  At the next font switch EZFDB again
  4132.       switches to Font 00, goes to the proper line/column within your form,
  4133.       and starts printing using the new font.  This allows you to easily
  4134.       line up text vertically using a multitude of different fonts.  Unless
  4135.       you are aware of this process, you could be a little confused over how
  4136.       multiple font printing is accomplished.
  4137. #20708#
  4138.  
  4139.   4.  The background shading is now done.  EZFDB uses the lightest character
  4140.       graphic symbol to add a shaded background  (characters with a Alt B)
  4141.       attached.  On printer drivers  other than E, the Alt B allowed you to
  4142.       bold a character.  This capability is still retained but you have to
  4143.       use a different font for bold text when using this printer driver.
  4144.   5.  Print macros are now printed.  EZFDB goes thru your form line by line,
  4145.       directing your printer to print any print macros it finds.  Please note
  4146.       that if you direct EZFDB to use a print macro and it wasn't available
  4147.       for downloading earlier in this process, nothing will print.
  4148.  
  4149.   Warning:
  4150.  
  4151.   EZFDB makes multiple passes to produce a composite, which is the printed
  4152.   form that comes out of your printer.  Your printer can handle only a
  4153.   maximum number of characters per line and a maximum number of lines per
  4154.   page based on the fonts and orientation you select.  If you try to print a
  4155.   form bigger than will fit on a single page, you may get multiple pages -
  4156.   each with a portion of one of the passes.
  4157.  
  4158.   To print correctly, your form MUST fit on a single page based on the fonts
  4159.   and orientation selected.  Trial and error may sometimes be necessary.
  4160. #20800#
  4161.  
  4162.  
  4163.   Unable to run the file EZXINFO.EXE.  Exit to DOS, and run EZXINFO.EXE
  4164.   directly.  If EZXINFO.EXE is not in your current directory, it can be
  4165.   copied from the original Full System Disk.  The following screen contains
  4166.   a list of EZX products.  Run EZXINFO.EXE from DOS for more product
  4167.   details and ordering information.
  4168.  
  4169.  
  4170.   EZX Publishing
  4171.   Publishers of the EZ Series
  4172.   P.O. Box 58177
  4173.   Webster, TX 77598 USA
  4174.  
  4175.  
  4176.   Valueware/TestDrive versions of all our programs are available from our
  4177.   EZ-HOST BBS.
  4178. #20801#
  4179.                                  EZX PRODUCTS
  4180.                                  ════════════
  4181.  
  4182.   EZ-FORMS DATABASE v4.0 inFORMation processing at its best. $149+s/h
  4183.   EZ-FORMS EXECUTIVE v4.0 the ULTIMATE forms manager --- Only $129+s/h
  4184.   EZ-FORMS PLUS the ORIGINAL forms processor and manager --- Only $69+s/h
  4185.  
  4186.   Forms Combo Pack (Over 500 forms! Only $99 w/EZFX or $119 w/EZFL +s/h
  4187.   Laser Font Support v2.4 for HPLJ+, etc. (Requires EZFX 2.4+)--Only $99+s/h
  4188.   Laser Font Support v1.2 for HPLJ+, etc. (free w/EZFX,EZFL,EZFDB), $29 w/EZS
  4189.  
  4190.   EZ-DiskCopy PRO v3.0 copies ALL 5.25 & 3.5 disks, serializes, etc. Replaces
  4191.     dedicated duplicators.  $495+s/h NCP,10 machine OR $139+s/h CP,1 machine.
  4192.  
  4193.   EZ-SPREADSHEET "The Ultimate Spreadsheet" -- Only $49+s/h
  4194.   EZX-WORD v3.0 Great WS compatible wordprocessor. -- $49+s/h
  4195.  
  4196.   (s/h add, $6 USA/48, $12 AK, HI, PR, APO, FPO, VI, Canada, $22 foreign.)
  4197.   Pricing and terms are subject to change without notice.  Code 9/92
  4198.   All product names are trademarks (tm) of EZX Corporation.
  4199. #20900#
  4200.  
  4201.  
  4202.   Unable to run the file SUPPORT.EXE.  Exit to DOS, and run SUPPORT.EXE
  4203.   directly.  If SUPPORT.EXE is not in your current directory, it can be
  4204.   copied from the original Full System Disk.  The following screen contains
  4205.   information about technical support.  Run SUPPORT.EXE from DOS for further
  4206.   details.
  4207.  
  4208.  
  4209.   EZX Publishing
  4210.   Publishers of the EZ Series
  4211.   P.O. Box 58177
  4212.   Webster, TX 77598  USA
  4213.  
  4214.   Voice: 1-713-280-9900
  4215.   FAX:   1-713-280-0099
  4216.   Info/OrderBBS: 1-713-280-8180 (1200-14.4K N81)  EZ-HOST BBS
  4217.  
  4218.   Valueware/TestDrive versions of all our programs are available from our
  4219.   EZ-HOST BBS.
  4220. #20901#
  4221.  
  4222.                              BASIC SUPPORT POLICY
  4223.                              ════════════════════
  4224.  
  4225.   We provide technical support to all registered users of our products. We 
  4226.   provide the support to the INDIVIDUAL who filled out, signed, and sent in
  4227.   the original registration card.  This applies even to copies of the program
  4228.   purchased by companies. Please read all of the information on the
  4229.   registration card (we provide 2 copies, 1 to send in, and 1 to keep) as to
  4230.   terms, length of support period, etc. Basically, registrations are not
  4231.   transferrable as we can only "train" one individual per program purchased.
  4232.   IF you have arranged for Extended or Priority Support, refer to the
  4233.   documents you received.
  4234.  
  4235.  
  4236.   EZX Publishing
  4237.   Publishers of the EZ Series
  4238.   P.O. Box 58177
  4239.   Webster, TX 77598  USA
  4240.  
  4241.   Voice: 1-713-280-9900
  4242.   FAX:   1-713-280-0099
  4243.   Info/OrderBBS: 1-713-280-8180 (1200-14.4K N81)  EZ-HOST BBS
  4244. #21100#
  4245.  
  4246.   Command menu:
  4247.  
  4248.   All the Form Editor commands can be entered directly within the editor.
  4249.   Many of the commands can also be entered thru this pulldown command menu.
  4250.   The pulldown command menu may be called up thru either Escape or F10.
  4251.   If you use the F10 key to call up the command menu, then the previous
  4252.   command or state of the menu is used.  You will probably want a command in
  4253.   the general area of your last choice so this is saved between uses.
  4254.  
  4255.   You will notice the command menu has a help window at the bottom of the
  4256.   screen that expands on what will happen if you choose that option.  Many
  4257.   of the commands can be entered without calling up the command menu.
  4258.   If there is a command sequence shown at the end of the help window, you
  4259.   could have entered it instead of calling up the command menu.  Example:
  4260.   Help for BlockOps - Start block shows a (Alt S).  That means you can press
  4261.   Alt S directly in the editor to mark the beginning of a block INSTEAD
  4262.   of going thru this menu.
  4263. #21300#
  4264.  
  4265.   The block operations in the EZ-Forms DataBase Form Editor are laid out in
  4266.   four logical groups. These are:
  4267.  
  4268.   (1) Those dealing with moving text around in your form  --  Alt M (move),
  4269.       Alt C (copy), and Alt D (delete)
  4270.   (2) Those dealing with attributes/fields  --  Ctrl A (attribute add) and
  4271.       Ctrl E (attribute erase)
  4272.   (3) ASCII file read and write  --  Ctrl R (read) and Ctrl W (write).
  4273.   (4) Block enable/disable -- make visible (Alt V) or hide a block (Alt H).
  4274.  
  4275.   These four groups allow you to work on the marked portion of the form.
  4276.   This marked portion (block) is laid out as a rectangle.  You must mark
  4277.   the diagonal corners of the rectangle with the Alt S being the upper left
  4278.   corner (start) and the Alt E being the lower right corner (end).  You will
  4279.   then be able to work with just this small section of the form for - Alt C,
  4280.   Alt M, Alt D, Ctrl A, etc.
  4281. #21400#
  4282.  
  4283.   To write a form to an ASCII file, type Ctrl W (for write).
  4284.  
  4285.   With this command, you take the form you see in front of you and write it
  4286.   to a disk file, in a standard format that word processors and other
  4287.   packages can read.  All special control codes that EZ-Forms uses are
  4288.   removed as the file is written.
  4289.  
  4290.   Many word processors can't handle character graphics like ┼  ▓  ▒ ┐ and │.
  4291.   Because of this, EZ-Forms provides a translation capability that translates
  4292.   these characters into normal characters, which somewhat look like the
  4293.   character graphics symbols.  Example: ┼ becomes a + after translation.
  4294.  
  4295. #21401#
  4296.  
  4297.   To read an ASCII file, press Ctrl R (for read).
  4298.  
  4299.   This command reads a standard text file from disk into your form.  Any
  4300.   strange characters like î, û, etc., will be automatically translated to
  4301.   spaces before they are inserted into your form.  Many word processors put
  4302.   these strange characters into the file to keep track of paragraphs, new
  4303.   lines, etc.
  4304.  
  4305.   You have the option of loading the file at the current cursor location,
  4306.   or into the marked area.  An area is marked with the block operations
  4307.   (Alt S and Alt E).
  4308.  
  4309.   The starting point is either the current cursor location, or the start of
  4310.   the marked area.  For example, if the starting point is at line 2, column
  4311.   2, then the file will be read into your form starting at this location.
  4312.   The second line will be read into line 3, column 2, etc.  When reading
  4313.   into the marked area, nothing will be loaded outside of it.
  4314. #21600#
  4315.  
  4316.   Fields allow you to "jump" between data entry areas in a form, and to
  4317.   protect areas of a form that don't contain any text.  A special character,
  4318.   the tilde ~, is used to allow this.
  4319.  
  4320.   In the form, use the ~ key (yes, it really is on your keyboard) to fill
  4321.   all the areas where you DON'T want to enter data.  You can fill areas
  4322.   by hand with the ~ key, or use the quick and easy block operations.  To
  4323.   use the block operations, first mark a block with Alt S and Alt E.  Then
  4324.   use Ctrl A to add field markers, or Ctrl E to erase field markers in the
  4325.   marked area.  You can use F3 and F4 to insert and delete field markers
  4326.   for the entire form.
  4327.  
  4328.   Once you have field markers set up in the form, save it, and use the
  4329.   Database - New command to create a new database with it.  Then use the
  4330.   Revise - Add command to enter a new record.  Note how the Enter, Tab,
  4331.   Shift Tab (backtab) and cursor keys move between data entry fields.
  4332.  
  4333.   Note: The ~s won't appear when printing, so use them freely.
  4334. #END#
  4335.